У меня есть класс, полученный из QVariantAnimation
и я должен запустить код после окончания анимации.
Я попробовал сигнал finished()
пока нет, но эмиссии нет
connect(this, SIGNAL(finished()), this, SLOT(setEndVariables()));
Есть ли другое мнение, чтобы увидеть, остановлена ли анимация, или неправильное использование сигнала?
Редактировать: с кодом
LiConfigurableFrameAnimation::LiConfigurableFrameAnimation(QString compId, int dur, LiConfigurableFrame *f)
{
if(dur>0)
this->setDuration(dur);
frame=f;
widget=frame->getComponent(compId);
isRectMode=false;
isImageMode=false;
connect(this, SIGNAL(finished()), this, SLOT(setEndVariables()));
}
Заголовочный файл:
class LiConfigurableFrameAnimation: public QVariantAnimation
{
private slots:
void setEndVariables();
};
Я решил проблему:
Я перегружаю функцию updateCurrentTime и проверяю, равно ли текущее время длительности.
updateCurrentTime(int curr)
{
if(curr >= this->duration())....
...
Других решений пока нет …