【发布时间】:2011-09-28 03:53:10
【问题描述】:
我想实现允许用户选择几个QGraphicsItems 然后将它们作为一个组旋转的应用程序。我知道我可以将所有项目添加到一个 QGraphicsItemGroup 中,但我需要保留每个项目的 Z-value。有可能吗?
我还有第二个问题。
我正在尝试围绕某个点旋转QGraphicsItem(不同于(0,0) - 比如说(200,150))。在那次操作之后,我想再旋转一次这个项目,但现在大约是(0,0)。我正在使用以下代码:
QPointF point(200,150); // point is (200,150) at first time and then it is changed to (0,0) - no matter how...
qreal x = temp.rx();
qreal y = temp.ry();
item->setTransform(item->transform()*(QTransform().translate(x,y).rotate(angle).translate(-x,-y)));
我注意到,在第二次旋转之后,该项目没有围绕点 (0,0) 旋转,而是围绕其他点(我不知道是哪个点)旋转。我还注意到,如果我改变操作顺序,一切都会很好。
我做错了什么?
【问题讨论】:
标签: qt rotation qgraphicsitem