当我使用QGraphicsItem
函数为动画旋转QGraphicsItem::setTransformOriginPoint()
时,原始点始终位于项目的顶点。
所以我尝试callback()
使旋转点位于右上角。但它仍然无法奏效。有没有办法在右上方旋转项目本身?
答案 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);
}
这是我发现的答案,当设置项目的框架时,需要在旋转前翻译原始点,然后将其翻译回来。