时间记录:2024/1/15
属性动画类为QPropertyAnimation,类似于CSS的@keyframes关键帧
1.几何动画
(1)创建QPropertyAnimation对象
(2)setPropertyName方法设置属性名称,几何动画可设置的属性名称查看类中的Q_PROPERTY宏定义的属性名称,可用的一个geometry
(3)setStartValue方法设置动画开始的值
(4)setKeyValueAt方法设置动画某个时间段的值
(5)setEndValue方法设置动画结束的值
(6)setDuration方法设置动画执行时间
(7)setLoopCount方法设置动画循环执行次数
(8)setEasingCurve方法设置动画执行的缓和曲线,即速度曲线
(9)start方法开始执行设置的动画
2.颜色动画
(1)使用QGraphicsColorizeEffect类为QWidget间接的设置color属性
(2)QWidget的setGraphicsEffect方法设置动画对象为QGraphicsColorizeEffect类对象
(3)使用普通的QPropertyAnimation方法设置动画属性,开始动画
3.不透明度动画
(1)使用QGraphicsOpacityEffect类为QWidget间接设置opacity属性
4.自定义动画属性
(1)编写宏Q_PROPERTY
????1.必须的几个参数type name READ getFunction
????2.示例Q_PROPERTY(int age READ age WRITE setAge)
????3.定义和实现age函数获取值和setAge来设置值,布尔类型设置值函数一般为isxxx
int age() const;//const是为了调用setAge函数时不产生影响
void setAge();
(2)使用QPropertyAnimation类进行动画变换
????