我正在尝试使用不同的类在PDF中打印两种项目。
例如,我要打印一行QTableWidget
和QGraphicsView
或QTextEdit
和QGraphicsView
的行。
不幸,
-QGraphicsView
可以通过将QPainter
放入QPixmap pixmap
并使用painter.drawPixmap(pixmap
来用QTextEdit
写入PDF,而,
通过将QTableWidget
和QTextDocument doc
放在doc.print(&printer);
中并调用QTableWidget
,可以将它们写入PDF。
这两个方法不兼容,当我强制将QTextEdit
/ QPixmap
放在QTableWidget
中时,它当然对应于小部件的屏幕截图,显然,它在我的PDF中不完整(我的QTextEdit
或QTableWidget
行很多)。
您知道一种可用于同时在PDF,QTextEdit
,QGraphicsView
和int pageWidth,pageHeight,size;
QRect viewport;
QPrinter printer;
printer.setOutputFileName(filename);
printer.setOutputFormat(QPrinter::PdfFormat);
printer.setPageSize(QPrinter::A4);
QCPPainter painter(&printer);
pageWidth = printer.pageRect(QPrinter::DevicePixel).width();
pageHeight = printer.pageRect(QPrinter::DevicePixel).height();
size = (pageWidth < pageHeight) ? pageWidth : pageHeight;
painter.setFont(QFont("times",18));
painter.drawText(30, 40, QString::fromStdString("Title"));
printer.newPage();
viewport = ui->graph->viewport();
painter.translate(0, 200);
ui->graph->setViewport(printer.pageRect());
ui->graph->toPainter(&painter, size/2, size/2);
ui->graph->setViewport(viewport);
painter.end();
的行中打印的方法吗?
预先谢谢你
我的代码是QGraphicsView的以下代码
{{1}}