我在一个 QGraphicsScene 中有一堆 QRects 和一些文本,我试图用 QPropertyAnimation 对其进行动画处理。为文本设置动画效果很好,但 QRect 不起作用,因为它们无法转换为 QGraphicsObject
这完美地工作
QPropertyAnimation *a = new QPropertyAnimation(this);
a->setTargetObject(items[size.x()*size.y()-1-aa]->toGraphicsObject()); //text
a->setPropertyName("pos");
a->setDuration(animationLength);
a->setStartValue(items[size.x()*size.y()-1-aa]->pos());
a->setEndValue(newTextPos);
a->setEasingCurve(easingCurve);
a->start(QAbstractAnimation::DeleteWhenStopped);
但事实并非如此,因为 items[2*size.x()*size.y()-2-aa]->toGraphicsObject() 返回一个空指针。
QPropertyAnimation *a = new QPropertyAnimation(this);
a->setTargetObject(items[2*size.x()*size.y()-2-aa]->toGraphicsObject()); //rect
a->setPropertyName("pos");
a->setDuration(animationLength);
a->setStartValue(items[2*size.x()*size.y()-2-aa]->pos());
a->setEndValue(newRectPos);
a->setEasingCurve(easingCurve);
a->start(QAbstractAnimation::DeleteWhenStopped);
有没有办法来解决这个问题?