当前位置:  开发笔记 > 编程语言 > 正文

如何打印Qt对话框或窗口?

如何解决《如何打印Qt对话框或窗口?》经验,为你挑选了2个好方法。

如何让Qt打印完整的对话框或窗口?我可以使用外部程序转储窗口内容xwd并打印,但我更愿意用Qt完成所有操作.



1> corné..:

使用QPixmap :: grabWidget(或QPixmap :: grabWindow用于外部窗口).像这样的东西:

QPixmap pix = QPixmap::grabWidget(myMainWindowWidget);

Dunno,如果你真的打算将它打印到打印机,如果是这样的话:

QPrinter printer(QPrinter::HighResolution);
QPainter painter;
painter.begin(&printer);    
painter.drawPixmap (0, 0, &pix);    
painter.end();



2> Ariya Hidaya..:

虽然您可以使用grabWidget来获取对话框的像素图表示,但实际上您将打印像素图的像素,即对话框被光栅化为屏幕分辨率,然后缩放到打印机分辨率.这可能会也可能不会导致一些伪影.

另一种方法是使用带有绘图设备的QWidget :: render()函数.这样,您就可以将打印机作为涂装设备.现在,使用打印机的分辨率将对话框"绘制"到打印机上.

推荐阅读
pan2502851807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有