【发布时间】:2018-08-20 11:12:47
【问题描述】:
我正在尝试使用 qt 在单个 pdf 中打印多个表 (qtablewidget) 对象。
我可以使用 (https://forum.qt.io/topic/80501/qpainter-howto-draw-table/7) 中提供的代码打印一张表格
QPixmap pix(widget->size());
QPainter painter(&pix);
widget->render(&painter);
painter.end();
QPrinter printer(QPrinter::HighResolution);
printer.setOrientation(QPrinter::Landscape);
printer.setOutputFormat(QPrinter::PdfFormat);
printer.setPaperSize(QPrinter::A4);
printer.setOutputFileName("test.pdf"); // will be in build folder
painter.begin(&printer);
painter.drawPixmap(0, 0, pix);
painter.end();
但是,如果我尝试打印多个表格,代码会失败。如果我创建多个 QPainter,qt 只会输出多个 pdf,每个 pdf 中有一个表。我正在尝试使用一个 QPainter 和多个 QPixmap 来做到这一点,但到目前为止没有成功。
谁能告诉我如何解决它?
任何帮助将不胜感激
问候,
【问题讨论】:
-
旁注:
QTableWidget不是表格。它是一个表格的 UI,但它不是为可打印而设计的。如果您将表格呈现为 html,然后使用 Qt 的格式化文本系统将其打印出来,效果会更好。
标签: qt qpainter qpixmap qprinter