QT打印质量低

时间:2015-04-13 11:28:14

标签: c++ qt

所以我正在尝试从我的应用程序中打印一个窗口,并使用以下代码:

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,但我得到的是非常低分辨率的文件。关于如何制作高分辨率可缩放图像的任何想法?因为我打印的图表应该是可读的,因为它上面有一些小的值。

1 个答案:

答案 0 :(得分:5)

QPrinterQPaintDevice的子类,因此您可以尝试使用以下QWidget函数直接绘制它:

void QWidget::​render(QPaintDevice * target,...)

如果您想自己创建QPainter,还有同一功能的QPainter版本。