mirror of
https://gitee.com/spark-store-project/spark-store
synced 2026-03-26 07:19:44 +08:00
repo: 添加 BaseWidgetOpacity 基础类来实现继承者的淡出动画来代替主窗口的实现
BaseWidgetOpacity 是一个提供了淡出/淡入动画的基础类
1. closeEvent 窗口关闭时进行淡出动画
此前在 MainWindow 中实现的淡出动画将由 BaseWidgetOpacity 来实现。
此前 MainWindow 原有的 DBlurEffectWidget 父类将移交至 BaseWidgetOpacity 继承。
注意:
如果 MainWindow 在未来重写 closeEvent 事件时将可能丢失 BaseWidgetOpacity 中的淡出效果
This commit is contained in:
@@ -25,7 +25,7 @@ void WidgetAnimation::widgetShake(QWidget *pWidget, int nRange)
|
||||
pAnimation->start(QAbstractAnimation::DeleteWhenStopped);
|
||||
}
|
||||
|
||||
void WidgetAnimation::widgetOpacity(QWidget *pWidget, bool isAppear)
|
||||
QPropertyAnimation* WidgetAnimation::createWidgetOpacity(QWidget *pWidget, bool isAppear)
|
||||
{
|
||||
QPropertyAnimation *animation = new QPropertyAnimation(pWidget, "windowOpacity", pWidget);
|
||||
//设置动画效果
|
||||
@@ -42,6 +42,11 @@ void WidgetAnimation::widgetOpacity(QWidget *pWidget, bool isAppear)
|
||||
animation->setKeyValueAt(0, 1);
|
||||
animation->setKeyValueAt(1, 0);
|
||||
}
|
||||
// 开始动画
|
||||
animation->start();
|
||||
return animation;
|
||||
}
|
||||
|
||||
void WidgetAnimation::widgetOpacity(QWidget *pWidget, bool isAppear)
|
||||
{
|
||||
// 开始动画
|
||||
createWidgetOpacity(pWidget, isAppear)->start();
|
||||
}
|
||||
|
||||
@@ -10,6 +10,8 @@ class WidgetAnimation
|
||||
public:
|
||||
WidgetAnimation();
|
||||
static void widgetShake(QWidget *pWidget, int nRange);
|
||||
|
||||
static QPropertyAnimation* createWidgetOpacity(QWidget *pWidget, bool isAppear);
|
||||
static void widgetOpacity(QWidget *pWidget, bool isAppear);
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user