编辑删除转载 2015-10-10 14:50:27

一个应用程序通常包含多个动画,例如,你可能希望同时移动许多graphic items或者一个个按照串行的方式的移动他们

QAnimationGroup:动画组父类,以包含其它animations,这样这些animations可以串行或者并行的触发了

QSequentialAnimationGroup:串行动画

QParallelAnimationGroup:并行动画

QPropertyAnimation​:动画类,第二个参数代表窗口树形,可以为size、windowOpacity、gemotry等等

 

1、淡入淡出

构造函数中写入如下代码:​

 1 ​animation = new QPropertyAnimation(this, "windowOpacity");
 2 
 3 animation->setDuration(3000);//动画总时间
 4 
 5 animation->setStartValue(1);//开始不透明
 6 
 7 animation->setEndValue(0);//接触时透明
 8 
 9 animation->setEasingCurve(QEasingCurve::Linear);//渐变时间曲线
10 
11 connect(animation, &QPropertyAnimation::finished
12 
13 , this, [this]{close(); });​//动画结束关闭窗口
View Code

相关文章: