setTransformOriginPoint未按预期工作

时间:2013-10-03 20:27:26

标签: c++ qt gestures

我从QGraphicsObject继承并创建了一个具有像素图的新类,并将其变换原点设置为:

setTransformOriginPoint(boundingRect().center());

但是当我在我的班级(使用场景添加到setRotation())上调用QGraphicsView时,旋转不会将中心用作旋转锚点。如何将中心设置为旋转的锚点?谢谢!

更多信息:在一个sceneEvent函数之外调用setRotation(),但是在一个sceneEvent中,在一个捏合手势时,原点不起作用。

1 个答案:

答案 0 :(得分:0)

QRect(0, 0, pixmap.width(), pixmap.height()处绘制像素图。使用此矩形也可以绑定rect。使用setPos在场景中移动项目。使用setTransformOriginPoint(pixmap.width() / 2, pixmap.height() / 2)设置原点。这些坐标位于项目坐标中,因此无论项目的位置如何,它们都应指向像素图的中心。