我正在使用以下代码来设置我的QPrinter对象的纸张大小:
printer_.setPaperSize(QPrinter::A4);
在我的计算机上,它按预期工作,但在另一台计算机上,我的 PDF 报告布局“损坏”。
搜索原因,我发现了这个问题: Qt QPrinter setPaperSize does not work proper
就像@Jens 所说:“setPaperSize 依赖于从打印机驱动程序接收到的信息......”。
我检查了Qt 文档QPrinter::A4
上的大小,它的大小对应于210 x 297 mm。
我可以将setPaperSize参数从:更改printer_.setPaperSize(QPrinter::A4);
为printer_.setPaperSize(QSizeF(210, 297), QPrinter::Millimeter);
吗?它会正常工作(独立于打印机)吗?
我问它是因为我没有另一台计算机来测试它,而且我无法在我的计算机上重现该问题。顺便说一句,如果有人知道如何在我的计算机上重现该问题以测试问题是否已解决,我将不胜感激。
图像上的黑色边框仅用于显示打印区域的边界。
注意:我使用的是 Qt 5.3.2