所以我正在尝试从我的应用程序中打印一个窗口,并使用以下代码:
QPrinter *printer = new QPrinter;
printer->setResolution(1200);
QPrintDialog *printDialog = new QPrintDialog(printer, this);
if (printDialog->exec() == QDialog::Accepted) {
QPainter p(printer);
QPixmap pm = QPixmap::grabWidget(this);
p.drawPixmap(0,0,pm);
}
为了测试它我将图像导出为PDF,但我得到的是非常低分辨率的文件。关于如何制作高分辨率可缩放图像的任何想法?因为我打印的图表应该是可读的,因为它上面有一些小的值。
答案 0 :(得分:5)
QPrinter
是QPaintDevice
的子类,因此您可以尝试使用以下QWidget
函数直接绘制它:
void QWidget::render(QPaintDevice * target,...)
如果您想自己创建QPainter
,还有同一功能的QPainter
版本。