效果展示
实现代码
#include <QPushButton>
#include <QPropertyAnimation>
#include <QTimer>
QPushButton* btn = new QPushButton("test", this);
btn->setGeometry(200, 200, 100, 100);
//延迟1000ms后,渐变隐藏窗口
QTimer::singleShot(1000, this, [&]()
{
QPropertyAnimation* animation = new QPropertyAnimation(this, "windowOpacity");//this代表是自己这个窗口使用这个效果
animation->setDuration(1000);//设置动画持续时间
animation->setStartValue(1);
animation->setEndValue(0);
animation->start(QAbstractAnimation::DeleteWhenStopped);//开始动画 参数:停止时删除动画
});
//延迟3000ms后,渐变显示窗口
QTimer::singleShot(3000,this, [&]()
{
QPropertyAnimation* animation = new QPropertyAnimation(this, "windowOpacity");
animation->setDuration(1000);//设置动画持续时间
animation->setStartValue(0);
animation->setEndValue(1);
animation->start(QAbstractAnimation::DeleteWhenStopped);//开始动画 参数:停止时删除动画
});