QRect宽度和高度(以像素为单位)?

时间:2011-10-11 10:24:14

标签: python qt pyqt4 pixel qpainter

在PyQt4 Gui中,我需要仔细放置多个QPainter Pixmaps 在指定新Pixmaps的坐标和高度和宽度时,我要求所有单位都以像素为单位 (否则,我的Gui会在与我自己不同的分辨率的屏幕上毁掉。)

放置Pixmap时,我使用DrawPixmap(QRect,QPixmap)功能 需要放置的Pixmaps位于4个整数元组的QRects列表中,它们指定Pixmap左上角的坐标(在px中)和在Pixmap的右下角(在px中)。登记/> 例如:
Blocks = [QtCore.QRect(x1,y1,x2,y2)等]。

可悲的是,传递给DrawPixmap(QRect,QPixmap)时,元组的最后两个数字被解释为宽度和高度,单位为(cm)。

我的问题......
有没有一种方法可以完全以像素为单位指定Pixmaps尺寸? (通过传递像素的宽度和高度,或尺寸框的角的两个像素坐标)。

我无法在QPainter或QRect类引用中找到方法 谢谢!


规格:
Python 2.7
PyQt4中
Windows 7 32位
IDLE

1 个答案:

答案 0 :(得分:0)

QPainter类引用中,您可以找到drawPixmap方法的不同重载。阅读documentation告诉QPainter::drawPixamp(QRect, QPixmap)完全按照自己的意愿行事。这可能是pyqt的一个特定问题,QRect的格式更多地被识别为QRectF。您还可以使用获取区域左上角坐标以及区域宽度和高度的重载函数,如:QPainter::drawPixamp(x, y, width, height, QPixmap)