首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pyqt打印预览QTableView

pyqt打印预览QTableView
EN

Stack Overflow用户
提问于 2012-05-23 09:03:42
回答 1查看 2.4K关注 0票数 3

我正在尝试将QTableView的内容打印到打印机。我实现了底层脚本,它运行成功,没有任何错误。但在printPreview中,所有数据都是不寻常的。这是来自my problem -FOUNTAINpic

代码语言:javascript
复制
def printTable(self,printer,painter,area):
    model = self.model
    myTableView = self.view
    printer = painter 
    rows = model.rowCount();
    columns = model.columnCount();
    totalWidth = 0.0;
    totalPageHeight = 0.0;
    totalHeight = 0.0;
    for c in range(columns):
        totalWidth += myTableView.columnWidth(c)

    for p in range(45):
        totalPageHeight += myTableView.rowHeight(p);

    for r in range(rows):
        totalHeight += myTableView.rowHeight(r);

    xscale = area.width() / totalWidth;
    yscale = area.height() / totalHeight;
    pscale = area.height() / totalPageHeight;
    painter.scale(xscale, pscale);
    painter.translate(area.x() + xscale, area.y() + yscale);

    x=0
    #QStyleOptionViewItem option;

    for r in range(rows):
        ++x
        for c in range(columns):
            idx = model.index(r,c);
            option = myTableView.viewOptions();
            option.rect = myTableView.visualRect(idx);
            if r % 2 == 0:
                brush= QtGui.QBrush(QtGui.QColor(220, 220, 220), QtCore.Qt.SolidPattern);
                painter.fillRect(option.rect, brush);
            myTableView.itemDelegate().paint(painter, option, idx);

        if (x == 45):
            ok = printer.newPage();
            x=0;
            painter.translate(0, -1350);

####################### Now print Table ######################

printer = QtGui.QPrinter()
painter = QtGui.QPainter()
painter.begin(printer )
self.printTable(printer,painter, printer.pageRect())

如果你有任何可以帮助我的例子,请告诉我。非常感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-01 22:18:24

如果你使用的是C++,我建议你使用一个专业的报告工具。可用选项为KDAB reporting toolNocisoft NC Report。AFAIK没有可靠的PyQt报告库...

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10712176

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档