【发布时间】:2015-01-05 23:20:19
【问题描述】:
我正在使用QWidget.grab 获取包含组件当前显示内容的像素图。除了不适合我的打印要求的组件尺寸之外,它可以完美地工作。
有没有办法让我可以抓取特定大小的组件的像素图?
【问题讨论】:
-
提供一些代码。如果你这样问,回答这个问题是不太可行的。
标签: python qt printing pyqt pyqt5
我正在使用QWidget.grab 获取包含组件当前显示内容的像素图。除了不适合我的打印要求的组件尺寸之外,它可以完美地工作。
有没有办法让我可以抓取特定大小的组件的像素图?
【问题讨论】:
标签: python qt printing pyqt pyqt5
Qt5 中的QPixMap.grab() 和Qt4 中的QPixMap.grabWidget() 以屏幕分辨率(即自然绘画分辨率)获取已绘制小部件的像素图。使用 rectangle 参数你甚至可以得到部件的一部分。
自然输出分辨率是小部件自己的屏幕分辨率。但之后您可以通过QPixMap.scaled() 将其缩放到您喜欢的任何内容,以符合您的打印要求。
在抓取时更改(简单缩放)绘画分辨率实际上会很好。但我不知道有什么方法可以做到这一点。
【讨论】:
QPixmap.grabWidget 在 PyQt5 中被替换为 QWidget.grab。