QGraphicsItemAnimation:如何使用setRotationAt指示旋转点

时间:2016-03-30 09:49:27

标签: qt

当我使用QGraphicsItem函数为动画旋转QGraphicsItem::setTransformOriginPoint()时,原始点始终位于项目的顶点。

所以我尝试callback()使旋转点位于右上角。但它仍然无法奏效。有没有办法在右上方旋转项目本身?

1 个答案:

答案 0 :(得分:0)

for (int i = 0; i < 1000; ++i){
     mAnimation->setTranslationAt(i / 1000.0, size.w, 0);
     mAnimation->setRotationAt(i / 1000.0, qreal(i / 1000.0 * angle));
     mAnimation->setTranslationAt(i / 1000.0, -size.w, 0);
}

这是我发现的答案,当设置项目的框架时,需要在旋转前翻译原始点,然后将其翻译回来。