QPropertyAnimation动画结束后,执行其他工作

关于QPropertyAnimation动画效果的教程网上一大堆,这里就不介绍了。

因为在工程中,需要在动画执行结束后,执行另一个函数。

但是如果直接添加该函数到动画执行start()的语句后面,则该函数会立即执行,不会等待动画执行完成再执行。

1、使用QTimer定时器的单次执行函数singleShot。

例如函数test(),则是

 QTimer::singleShot(3000, [=]() { test(); });

延时时间自己定,这里是3秒。

 

2、使用槽函数
 

QPropertyAnimation *mMainWidgetHideAnimation_ = new QPropertyAnimation(ui.mMainWidget, "pos");

 connect(mMainWidgetHideAnimation_, &QPropertyAnimation::finished, [=] {
           //要处理的函数
        });

 

展开阅读全文

没有更多推荐了,返回首页