QPrinter输出到pdf不等同于纸张/页面大小(A4)

QPrinter output to pdf is not equivalent to the paper/page size (A4)

本文关键字:A4 输出 pdf 等同于 QPrinter      更新时间:2023-10-16

我正在尝试将QWidget UI输出到这样的pdf文件中;

const QString filename = "class1bills.pdf";
printer = new QPrinter(QPrinter::HighResolution);
printer->setOutputFormat(QPrinter::PdfFormat);
printer->setOrientation(QPrinter::Portrait);
printer->setPaperSize(QPrinter::A4);
printer->setPageSize(QPrinter::A4);
printer->setPageMargins (15,15,15,15,QPrinter::Millimeter);
printer->setFullPage(false);
printer->setOutputFileName(filename);
painter = new QPainter(printer);
class1Bill->render(painter, QPoint(), QRegion(), QWidget::DrawChildren | QWidget::DrawWindowBackground);
painter->begin(printer);
painter->end();
assert(QFile::exists(filename)); 

class1Bill是继承 QWidget 的类的对象。一切正常,但是当我打开pdf文件时,我希望小部件UI看起来适合A4页面大小,但它看起来非常小,我什至没有看到它。如何使小部件 UI 适合我设置的 A4 纸张大小?

设置printer->setFullPage(true);以适合纸张大小