首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用setPaperSize中断的报告布局( QPrinter::A4)QPrinter

使用setPaperSize中断的报告布局( QPrinter::A4)QPrinter
EN

Stack Overflow用户
提问于 2016-11-14 15:36:04
回答 1查看 317关注 0票数 1

我使用以下代码来设置我的QPrinter对象的纸张大小:

代码语言:javascript
复制
printer_.setPaperSize(QPrinter::A4);

在我的计算机上,它按预期工作,但在另一台计算机上,我的PDF报表布局“坏了”。

为了找出原因,我发现了一个问题:Qt QPrinter setPaperSize does not work properly

就像@Jens说的那样:"setPaperSize依赖于从打印机驱动程序收到的信息.“。

我在Qt文档上检查了大小,它的大小对应于210 x 297 mm。

我可以将setPaperSize参数从:printer_.setPaperSize(QPrinter::A4);更改为printer_.setPaperSize(QSizeF(210, 297), QPrinter::Millimeter);吗?它是否正常工作(打印机独立)?

我之所以问这个问题,是因为我再也没有另一台电脑来测试它了,而且我无法在我的电脑上重现这个问题。顺便说一句,如果有人知道我如何在我的电脑上复制这个问题来测试这个问题是否解决了,我很感激。

示例:

图像上的黑色边框仅用于显示打印区域的边界。

注意事项:我正在使用QT5.3.2

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-25 12:41:26

我将setPaperSize参数更改为:

代码语言:javascript
复制
printer_.setPaperSize(QPrinter::A4);

至:

代码语言:javascript
复制
printer_.setPaperSize(QSizeF(210, 297), QPrinter::Millimeter);

210297来自Qt文档:

“优质打印机:A4-0-210 x 297毫米,8.26 x 11.69英寸”

基本上,我不是使用QPrinter::A4从打印机设备中获取大小,而是根据正确的A4毫米大小设置一个固定的A4。

对我起作用了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40592427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档