У меня есть куча QR-предложений и некоторый текст в QGraphicsScene, который я пытаюсь оживить с помощью QPropertyAnimation. Анимационный текст отлично работает, но QRects не работает, потому что они не в состоянии преобразовать в QGraphicsObjectАнимация QRect с QPropertyAnimation
Это отлично работает
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);
Но это не так, потому что элементы [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);
Есть ли способ исправить это?
QRect не является графическим элементом, вы имеете в виду QGraphicsRectItem? –
ну, может быть. Я добавил исправления с помощью QGraphicsScene :: addRect – Ben