【问题标题】:QPrinter output to pdf is not equivalent to the paper/page size (A4)QPrinter 输出到 pdf 不等于纸张/页面大小 (A4)
【发布时间】:2015-07-05 00:58:10
【问题描述】:

我正在尝试将 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(false); - 这不应该适合纸张尺寸吗?
  • 非常感谢。有效! @Thalia
  • 我很高兴,我会把它放在答案中以便您接受?

标签: c++ qt pdf qprinter


【解决方案1】:

设置printer->setFullPage(true);以适应纸张尺寸

【讨论】:

  • 同样的问题发生在 pyqt5 上,遗憾的是这个答案并没有解决它。
猜你喜欢
  • 2011-03-21
  • 2013-05-15
  • 1970-01-01
  • 2022-01-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多