QRect Ширина и Высота в пикселях? - PullRequest
0 голосов
/ 11 октября 2011

В PyQt4 Gui требуется аккуратное размещение нескольких пиксельных карт QPainter.
При указании координат, высоты и ширины новых пиксельных карт мне требуется, чтобы все единицы были в пикселях.
(В противном случае мойGui будет разрушен на экране с разрешением, отличным от моего собственного).

При размещении Pixmap я использую функцию DrawPixmap (QRect, QPixmap).
Pixmaps, которые необходимо разместить, находятся в спискеQRects из кортежей из 4 целых чисел, которые определяют координаты верхнего левого угла Pixmap (в пикселях) и нижнего правого угла Pixmap (в пикселях).
Например:
Blocks = [QtCore.QRect (x1, y1, x2, y2) и т. Д.].

К сожалению, последние два числа кортежа интерпретируются как ширина и высота при передаче в DrawPixmap (QRect, QPixmap), которые находятся вединицы (см).

Мой вопрос ...
Есть ли способ указать размеры Pixmaps полностью в пикселях?
(Либо путем передачи ширины и высоты пикселя, либо двух пикселейкоординаты йуглы окна измерения).

Я не могу найти путь в ссылках на классы QPainter или QRect.
Спасибо!


Спецификации:
Python 2.7
PyQt4
Windows 7 32bit
IDLE

1 Ответ

0 голосов
/ 11 октября 2011

В справочнике по классу QPainter вы можете найти различную перегрузку метода drawPixmap. Чтение документации говорит о том, что QPainter::drawPixamp(QRect, QPixmap) делает именно то, что вы хотите. Это может быть особая проблема с pyqt, когда формат QRect больше распознается как QRectF. Вы также можете использовать перегруженную функцию, которая получает координаты верхнего левого угла, ширину и высоту вашей области, например: QPainter::drawPixamp(x, y, width, height, QPixmap)

...