QT打印质量低

gEd*_*ger 1 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);
}
Run Code Online (Sandbox Code Playgroud)

为了测试它我将图像导出为PDF,但我得到的是非常低分辨率的文件.关于如何制作高分辨率可缩放图像的任何想法?因为我打印的图表应该是可读的,因为它上面有一些小的值.

Pre*_*nik 5

QPrinter是一个子类QPaintDevice,因此您可以尝试使用以下QWidget函数直接绘制它:

void QWidget::?render(QPaintDevice * target,...)
Run Code Online (Sandbox Code Playgroud)

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