PySide6.QtCore.QPropertyAnimation

class QPropertyAnimation

QPropertyAnimation 类用于动画化 Qt 属性。更多

PySide6.QtCore.QPropertyAnimation 的继承图

在版本4.6中添加。

概要

属性

方法

注意

本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。

详细描述

警告

本节包含从C++自动翻译到Python的代码片段,可能包含错误。

QPropertyAnimationQt 属性 之间进行插值。由于属性值存储在 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:
property targetObjectᅟ: QObject

此属性保存此动画的目标 QObject

此属性定义了此动画的目标 QObject

Access functions:
__init__([parent=None])
Parameters:

父对象QObject

构造一个QPropertyAnimation对象。parent被传递给QObject的构造函数。

__init__(target, propertyName[, parent=None])
Parameters:

构造一个QPropertyAnimation对象。parent被传递给QObject的构造函数。动画会改变target上的属性propertyName。默认持续时间为250毫秒。

另请参阅

targetObject propertyName

propertyName()
Return type:

QByteArray

另请参阅

setPropertyName()

属性 propertyNameᅟ 的获取器。

setPropertyName(propertyName)
Parameters:

propertyNameQByteArray

另请参阅

propertyName()

属性 propertyNameᅟ 的设置器。

setTargetObject(target)
Parameters:

目标QObject

另请参阅

targetObject()

属性 targetObjectᅟ 的设置器。

targetObject()
Return type:

QObject

另请参阅

setTargetObject()

属性 targetObjectᅟ 的获取器。