class QAnimationGroup#

QAnimationGroup 类是动画组的一个抽象基类。 更多

Inheritance diagram of PySide6.QtCore.QAnimationGroup

继承自: QSequentialAnimationGroup, QParallelAnimationGroup

新功能版本 4.6。

概述#

方法#

注意

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

详细描述#

动画组是动画(QAbstractAnimation 的子类)的容器。一个组通常负责管理其动画的 状态,即决定何时开始、停止、恢复和暂停它们。目前,Qt提供了两个这样的组:QParallelAnimationGroupQSequentialAnimationGroup 。查看它们的类描述以获取详细信息。

由于 QAnimationGroup 继承自 QAbstractAnimation,您可以将组组合起来,并轻松构建复杂的动画图。您可以通过调用 group() 函数查询所属的组。

要启动顶级动画组,您只需从 QAbstractAnimation 使用 start() 函数。所谓顶级动画组,我们指的是自身不由其他组包含的组。不支持直接启动子组,这可能会导致意外行为。

QAnimationGroup 提供了添加和检索动画的方法。除此之外,您还可以通过调用 removeAnimation() 来删除动画,以及通过调用 clear() 来清除动画组。您可以通过监听 ChildAddedChildRemoved 事件来跟踪组动画中的更改。

QAnimationGroup 会接管它管理的动画,并确保当动画组被删除时动画也被删除。

__init__([parent=None])#
参数:

parentQObject

构建一个 QAnimationGroupparent 会被传递给 QObject 的构造函数。

addAnimation(animation)#
参数:

animationQAbstractAnimation

animation 添加到此组中。这将调用 insertAnimation ,其索引等于 animationCount()

注意

组将接管动画。

另请参阅

removeAnimation()

animationAt(index)#
参数:

index – int

返回类型:

QAbstractAnimation

返回指向在此组中索引为 index 的动画的指针。此函数在您需要访问特定动画时很有用。index 在 0 和 animationCount() - 1 之间。

animationCount()#
返回类型:

int

返回此组管理的动画数量。

clear()#

从动画组中移除和删除所有动画,并将当前时间重置为0。

indexOfAnimation(animation)#
参数:

animationQAbstractAnimation

返回类型:

int

返回animation的索引。返回的索引可传递给其他需要索引作为参数的函数。

insertAnimation(index, animation)#
参数:

在动画组中的index处插入animation。如果index为0,则动画将在开头插入。如果indexanimationCount(),则动画将在末尾插入。

注意

组将接管动画。

removeAnimation(animation)#
参数:

animationQAbstractAnimation

从本组中移除animation。动画的所有权转移给调用方。

takeAnimation(index)#
参数:

index – int

返回类型:

QAbstractAnimation

返回索引为index的动画,并将其从动画组中移除。

注意

动画的所有权转移给调用者。