Offer 驾到,掘友接招!我正在参与2022春招打卡活动,点击查看活动详情。
前言:
动画框架的父类是QAbstractAnimation类,QVariantAnimation和QAnimationGroup类均继承自QAbstractAnimation类。 QPropertyAnimation类继承自QVariantAnimation类,因其将QObject的属性和QPropertyAnimation相连接,所以可以使用动画效果。
动画的类有哪些:
-
QAbstractAnimation:所有动画类的基类 这个类可以完美实现定时器(Timer)和时间事件(TimerEvent)的抽象化,提供记录当前时间、动画时长、动画效果重复循环次数、动画状态界面,并提供动画开始(start)、停止(stop)、重新开始(resume)和暂停(pause)功能。
-
QAnimationGroup:动画组的抽象基类 QAnimationGroup是组合动画对象的抽象类。用组合动画对象的方法运行QParallelAnimationGroup类和QSequentialAnimationGroup类,这两个类均继承自QAnimationGroup类。
-
QEasingCurve:控制动画的Easing曲线 QEasingCurve类控制动画的easingCurve,主要用于提供QVariantAnimation类的属性,还可以插入动画对象的移动速度以编辑动作模式。
函数valueForProgress()可在0~1中返回动作时长。如果第一个参数设为时间t,则从函数setDuration()指定的时长中返回和t对应的时长,以毫秒为单位。
-
QParallelAnimationGroup:并行处理多个动画组
-
QPauseAnimation:暂停QSequentialAnimationGroup
-
QPropertyAnimation:向QObject对象添加动画功能 QPropertyAnimation类使用QObject项目和类的构造函数指定目标和属性。函数setDuration()指定动画对象从起始坐标移动到结束坐标的时长,以毫秒为单位。如果不使用函数setDuration(),则默认设置为250毫秒。
函数setStartValue()设置动画的起始坐标,函数setEndValue()设置动画的结束坐标。start()可以在指定时间内启动自起始坐标到结束坐标之间的动画。
-
QSequentialAnimationGroup:串行动画(SequentialAnimation)组
-
QVariantAnimation:动画的抽象基类 QVariantAnimation类是动画的抽象类,是动画对象和属性的基类,与指定为动画元素的QObject对象一样,通过函数setStartValue() 和setEndValue() 可以指定动画的开始位置和结束位置。坐标值改变时,会发生valueChanged() 信号事件。
-
QTimeLine:控制动画的时间线