Я использую объект QPropertyAnimation для перемещения некоторых элементов управления следующим образом:
QPropertyAnimation* animation = new QPropertyAnimation(message_, "pos");
animation->setDuration(2000);
animation->setStartValue(current_pos);
animation->setEndValue(new_pos);
animation->setEasingCurve(QEasingCurve::Linear);
animation->start(QAbstractAnimation::DeleteWhenStopped);
asl::checkedConnect(animation, SIGNAL(finished()), this, SLOT(slotScrollingFinished()));
Объект работает AFAIK, выполняя каждые несколько миллисекунд и изменяя значение свойства pos, пока не истечет срок действия и не будет достигнуто конечное значение.
Мне было интересно, есть ли способ изменить интервал таймера внутреннего объекта QPropertyAnimation, чтобы изменить количество раз, когда он будет обращаться к свойству pos в течение этой 2-секундной продолжительности.
Я не вижу ничего в документах.
Вы можете сделать это:
#include <qt/src/corelib/animation/qabstractanimation_p.h>
QUnifiedTimer::instance()->setTimingInterval(new_interval);