У меня есть блок кода, в котором я использовал новую инфраструктуру анимации Qt. Мне нужна анимация только в этом блоке кода, и мне не нужны переменные, связанные с анимацией, в других местах. Очевидно, что анимация не будет работать, если она будет уничтожена до завершения анимации. Например, следующее не работает:
if (animate)
{
QPropertyAnimation animation(_piece_images[svg_index].getImage(), "pos");
animation.setDuration(200);
animation.setEndValue(getCellPos(row, col));
animation.setEasingCurve(QEasingCurve::InOutSine);
animation.start();
}
Итак, я использую анимацию, используя указатель:
if (animate)
{
QPropertyAnimation *animation = new
QPropertyAnimation(_piece_images[svg_index].getImage(), "pos");
animation->setDuration(200);
animation->setEndValue(getCellPos(row, col));
animation->setEasingCurve(QEasingCurve::InOutSine);
animation->start(QAbstractAnimation::DeleteWhenStopped);
}
Мой вопрос: есть ли утечка памяти в приведенном выше решении? Пожалуйста, предоставьте ссылку, если возможно, возможно, я что-то пропустил.