我使用QTransform::translate(x, y).rotate(angle).translate(-x, -y)
旋转了qgraphicsitem(比如矩形)。
在应用旋转之前,boundingrect()会给出正确的项目边界矩形。
使用QTransform
应用轮换后,在调用boundingrect()
或sceneboundingrect()
时会显示上一个边界矩形。即没有旋转的矩形。
我尝试使用boundingRegion
等仍未在旋转后给出正确的边界矩形。增量旋转提供先前的边界矩形而不是当前的边界矩形。
另外,如何检查该项目(特别是当QTransform
应用时,即旋转,缩放等)不在场景矩形内?
先谢谢, 此致
答案 0 :(得分:0)
请注意,您不希望更改boundingrect(),因为它始终以Item Coordinates表示。
我有一个想法,你可能需要在某些时候调用prepareGeometryChange()来正确更新这种东西(例如,对于sceneTransform和sceneBoundingRect来返回正确的值)。