关于QPropertyAnimation动画效果的教程网上一大堆,这里就不介绍了。
因为在工程中,需要在动画执行结束后,执行另一个函数。
但是如果直接添加该函数到动画执行start()的语句后面,则该函数会立即执行,不会等待动画执行完成再执行。
1、使用QTimer定时器的单次执行函数singleShot。
例如函数test(),则是
QTimer::singleShot(3000, [=]() { test(); });
延时时间自己定,这里是3秒。
2、使用槽函数
QPropertyAnimation *mMainWidgetHideAnimation_ = new QPropertyAnimation(ui.mMainWidget, "pos");
connect(mMainWidgetHideAnimation_, &QPropertyAnimation::finished, [=] {
//要处理的函数
});