2011-10-11 6 views
0

PyQt4 Gui에서는 여러 개의 QPainter Pixmaps를 신중하게 배치해야합니다.
새 Pixmap의 좌표와 높이 및 너비를 지정할 때 모든 단위가 픽셀이어야합니다.
(그렇지 않으면 내 Gui가 내 자신의 해상도와 다른 화면에서 망가졌습니다.)QRect 너비와 높이 (픽셀)?

Pixmap을 배치 할 때 DrawPixmap (QRect, QPixmap) 기능을 사용합니다.
배치해야하는 Pixmap은 Qmap의 왼쪽 위 모서리 좌표 (px)와 Pixmap의 오른쪽 하단 모서리 (px) 좌표를 지정하는 4 개의 정수 튜플의 QRect 목록에 있습니다. . 예 :
블록 = [QtCore.QRect (x1, y1, x2, y2) 등].

슬프게도, 튜플의 마지막 두 숫자는 DrawPixmap (QRect, QPixmap)에 전달 될 때 너비와 높이로 해석되며 단위는 cm입니다.

내 질문 ...
Pixmaps 크기를 픽셀 단위로 지정하는 방법이 있습니까?
(픽셀 너비와 높이 또는 치수 상자 모서리의 두 픽셀 좌표를 전달하십시오.)

I QPainter 또는 QRect 클래스 참조에서 길을 찾을 수 없습니다.
감사합니다.


사양 :
파이썬 2.7
PyQt4
윈도우 7 32 비트
IDLE QPainter 클래스 참조

+0

픽셀 맵은 항상 픽셀 단위로 측정됩니다. Pixmap == 픽셀의지도. 더 높은 DPI 이미지를 가지고 있지 않습니까? 픽스맵의 대상 픽셀과 소스 픽셀을 모두 차지하는 QPainter의 drawPixmap 함수를 살펴 보셨습니까? –

+0

소스 이미지를 픽셀 단위의 크기로 조작합니다. 어떤 이유로 든 position 옆에있는 치수의 모든 규격은 폭과 높이에 있거나 전혀 지정되어 있지 않습니다! –

답변

0

, 당신은 drawPixmap 방법의 다른 오버로드를 찾을 수 있습니다. documentation을 읽으면 QPainter::drawPixamp(QRect, QPixmap)이 원하는대로 정확하게 수행됩니다. QRect의 형식이 QRectF으로 더 많이 인식되는 pyqt의 특정 문제 일 수 있습니다. 왼쪽 상단 좌표와 너비와 높이를 얻는 오버로드 된 함수를 사용할 수도 있습니다. QPainter::drawPixamp(x, y, width, height, QPixmap)

+0

나는 두 함수를 모두 시도해 보았고, '너비'와 '높이'는 픽셀이 아닌 센티미터로 해석된다. 해상도 문제로 인해 픽셀 만 전달할 수 있습니다. –

+0

기다려라. .... 지금 나는 그렇게 확신하지 않는다. ... 나는 어떻게 그 높이와 너비가 cm로 해석되었는지 concieve 했는가 ?? 확실히 나는 그것을 어딘가에서 읽었다. ... –