PySide6.QtCore.QPropertyAnimation¶
- class QPropertyAnimation¶
QPropertyAnimation
类用于动画化 Qt 属性。更多…在版本4.6中添加。
概要¶
属性¶
propertyNameᅟ
- 此动画的目标属性名称targetObjectᅟ
- 此动画的目标 QObject
方法¶
def
__init__()
def
propertyName()
def
targetObject()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
QPropertyAnimation
在 Qt 属性 之间进行插值。由于属性值存储在QVariant
中,该类继承了QVariantAnimation
,并支持与其父类相同的meta types
的动画。声明属性的类必须是
QObject
。为了使属性能够被动画化,它必须提供一个setter(以便QPropertyAnimation
可以设置属性的值)。请注意,这使得许多Qt的小部件可以被动画化。让我们看一个例子:from PySide6.QtWidgets import QApplication from PySide6.QtWidgets import QPushButton from PySide6.QtCore import QPropertyAnimation class MyButtonWidget(QWidget): # public MyButtonWidget(QWidget parent = None) def __init__(self, QWidget(parent): button = QPushButton(tr("Animated Button"), self) anim = QPropertyAnimation(button, "pos", self) anim.setDuration(10000) anim.setStartValue(QPoint(0, 0)) anim.setEndValue(QPoint(100, 250)) anim.start() if __name__ == "__main__": a = QApplication(argc, argv) buttonAnimWidget = MyButtonWidget() buttonAnimWidget.resize(QSize(800, 600)) buttonAnimWidget.show() return a.exec()
注意
您还可以通过在启动动画时选择
delete policy
来控制动画的生命周期。属性名称和应该被动画化的
QObject
实例被传递给构造函数。然后你可以指定属性的起始值和结束值。这个过程对于你自己实现的类中的属性是相同的——只需检查QVariantAnimation
是否支持你的QVariant
类型。QVariantAnimation
类的描述详细解释了如何设置动画。但请注意,如果未设置起始值,属性将从创建QPropertyAnimation
实例时的值开始。QPropertyAnimation
本身工作得非常出色。对于包含多个对象的复杂动画,例如,提供了QAnimationGroup
。动画组是一个可以包含其他动画的动画,并且可以管理其动画的播放时间。请查看QParallelAnimationGroup
以获取示例。注意
当使用
from __feature__ import true_property
时,属性可以直接使用,否则通过访问器函数使用。- property propertyNameᅟ: QByteArray¶
此属性保存此动画的目标属性名称。
此属性定义了此动画的目标属性名称。动画操作需要属性名称。
- Access functions:
此属性保存此动画的目标
QObject
。此属性定义了此动画的目标
QObject
。- Access functions:
构造一个
QPropertyAnimation
对象。parent
被传递给QObject
的构造函数。- __init__(target, propertyName[, parent=None])
- Parameters:
target –
QObject
propertyName –
QByteArray
parent –
QObject
构造一个
QPropertyAnimation
对象。parent
被传递给QObject
的构造函数。动画会改变target
上的属性propertyName
。默认持续时间为250毫秒。另请参阅
- propertyName()¶
- Return type:
另请参阅
属性
propertyNameᅟ
的获取器。- setPropertyName(propertyName)¶
- Parameters:
propertyName –
QByteArray
另请参阅
属性
propertyNameᅟ
的设置器。属性
targetObjectᅟ
的设置器。- targetObject()¶
- Return type:
另请参阅
属性
targetObjectᅟ
的获取器。