一、pyqt5中动画的继承关系图
二、关于QAbstractAnimation父类的认识
1、主要作用
继承此类, 实现一些自定义动画
所有动画共享的功能
2、功能作用
循环操作
setLoopCount(count):设置循环次数
currentLoop():当前循环
currentLoopTime():当前循环时间
时间操作
duration():单次时长
totalDuration():动画总时长
currentTime():当前时长
动画方向
setDirection(QAbstractAnimation.Forward/QAbstractAnimation.Backward)
动画状态state()
QAbstractAnimation.Stopped:动画停止
QAbstractAnimation.Paused:动画暂停
QAbstractAnimation.Running:动画运行
三、QPropertyAnimation属性动画的使用
主要用于实现某个属性值从x到y的动画变化
1、定义动画的主要步骤
创建一个动画,并设置目标、属性
设置属性值的开始、插值、结束
动画时长
启动动画
2、构造函数使用方式
1.QPropertyAnimation(parent: QObject = None)
设置动画目标:setTargetObject(self, QObject)
设置动画属性(位置、大小等):setPropertyName(self, Union[QByteArray, bytes, bytearray])
2.QPropertyAnimation(QObject, Union[QByteArray, bytes, bytearray], parent: QObject = None)
3、常见的属性
geometry
pos
size
windowOpacity
4、设置开始值和结束值
setStartValue(self, Any)
setEndValue(self, Any)
setKeyValueAt(self, float, Any)
setKeyValues(self, object)
5、设置动画时长
setDuration(int mesc)
6、启动动画
start()
7、简单案例(位置的)
import sys
from PyQt5.Qt import *
class Window(QWidget):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.setWindowTitle(&#