2011-05-02 3 views
2

내 pyqt 코드의 일부에서 QGraphicsItem을 크기 조정할 예정입니다. 내 코드의 다른 섹션에서 self.rect.adjusted (0, 0, 0, 0)을 호출하면 변형되기 전에 치수가 반환됩니다. 내 질문은 어떻게 변환 후 치수를 찾을 수 있습니까?변환 후 QGraphicsItem의 크기를 찾는 방법

답변

3

변환 후 sceneBoundingRect()를 호출하거나 boundingRect()보다 정밀도를 높이기 위해 사용되는 boundingRegion()을 호출 할 수 있습니다. 이 모든 기능은 QGraphicsItem에 있습니다. QtAssistant에서 자세한 내용을 읽을 수 있습니다 :

테두리 영역은 항목의 시각적 내용에 대한 대략적인 윤곽을 나타냅니다. 계산하는 데는 비용이 많이 들지만 boundingRect()보다 정확하기 때문에 항목을 업데이트 할 때 불필요한 다시 그리기를 피할 수 있습니다. 이는 얇은 항목 (예 : 선 또는 단순한 다각형)에 특히 효율적입니다. setBoundingRegionGranularity()를 호출하여 경계 영역의 입도를 조정할 수 있습니다. 기본 세분성은 0입니다. 항목의 경계 영역은 경계 사각형과 같습니다. itemToDeviceTransform은 항목 좌표에서 장치 좌표로의 변환입니다. 이 함수가 장면 좌표의 QRegion을 반환하도록하려면 sceneTransform()을 인수로 전달할 수 있습니다.

관련 문제