QSequentialAnimationGroup 类

QSequentialAnimationGroup 类型提供了一个顺序动画组。 更多...

头文件 #include <QSequentialAnimationGroup>
CMakefind_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmakeQT += core
继承自 QAnimationGroup

属性

公共函数

QSequentialAnimationGroup(QObject *parent = nullptr)
virtual~QSequentialAnimationGroup()
QPauseAnimation *addPause(int msecs)
QBindable<QAbstractAnimation *>bindableCurrentAnimation() const
QAbstractAnimation *currentAnimation() const
QPauseAnimation *insertPause(int index, int msecs)

重写的公共函数

virtual intduration() const override

信号

voidcurrentAnimationChanged(QAbstractAnimation *current)

重写的保护函数

virtual boolevent(QEvent *event) override
virtual voidupdateCurrentTime(int currentTime) override
virtual voidupdateDirection(QAbstractAnimation::Direction direction) override
virtual voidupdateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState) override

详细描述

QSequentialAnimationGroup 是一个 QAnimationGroup,它按顺序运行其动画,即在一个动画播放完毕后开始另一个动画。动画按照它们被添加到组中的顺序播放(使用 addAnimation() 或 insertAnimation())。动画组在最后一个动画完成后结束。

在每个时刻,组中最多只有一个活动动画;它由 currentAnimation() 方法返回。一个空的组没有当前动画。

顺序动画组可以被看作任何其他动画,即可以启动、停止和添加到其他组。您还可以调用 addPause() 或 insertPause() 方法向顺序动画组添加暂停。

    QSequentialAnimationGroup *group = new QSequentialAnimationGroup;

    group->addAnimation(anim1);
    group->addAnimation(anim2);

    group->start();

在此示例中,anim1anim2 是两个已经设置好的 QPropertyAnimation 实例。

另请参阅 QAnimationGroupQAbstractAnimation动画框架

属性文档

[bindable read-only] currentAnimation : QAbstractAnimation*

注意: 此属性支持 QProperty 绑定。

该属性包含当前时间的动画。

成员函数文档

QSequentialAnimationGroup::QSequentialAnimationGroup(QObject *parent = nullptr)

构造一个 QSequentialAnimationGroup 对象。将 parent 传递给 QObject 构造函数。

[virtual noexcept] QSequentialAnimationGroup::~QSequentialAnimationGroup()

销毁动画组。它也将销毁所有动画。

QPauseAnimation *QSequentialAnimationGroup::addPause(int msecs)

为此动画组添加一个时长为 msecs 毫秒的暂停。暂停被视为特殊类型的动画,因此 animationCount 会增加。

另请参阅 insertPause() 和 QAnimationGroup::addAnimation()。

[signal] void QSequentialAnimationGroup::currentAnimationChanged(QAbstractAnimation *current)

currentAnimation 发生变化时,QSequentialAnimationGroup 会发出此信号。 current 是当前动画。

注意: 该信号是属性 currentAnimation 的通知信号。

另请参阅 currentAnimation().

[override virtual] int QSequentialAnimationGroup::duration() const

重实现了: QAbstractAnimation::duration() const.

[override virtual protected] bool QSequentialAnimationGroup::event(QEvent *event)

重实现了: QAnimationGroup::event(QEvent *event).

QPauseAnimation *QSequentialAnimationGroup::insertPause(int index, int msecs)

在动画组中的 index 位置插入一个时长为 msecs 毫秒的暂停。

另请参阅 addPause() 和 QAnimationGroup::insertAnimation().

[覆盖虚保护] void QSequentialAnimationGroup::updateCurrentTime(int currentTime)

重实现: QAbstractAnimation::updateCurrentTime(int currentTime).

[覆盖虚保护] void QSequentialAnimationGroup::updateDirection(QAbstractAnimation::Direction direction)

重实现: QAbstractAnimation::updateDirection(QAbstractAnimation::Direction direction).

[覆盖虚保护] void QSequentialAnimationGroup::updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState)

重实现: QAbstractAnimation::updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState).

© 2024 The Qt Company Ltd. 本文件中的文档贡献版权属于各自的所有者。本提供的文档根据由自由软件基金会发布的 GNU 自由文档许可协议版本 1.3 的条款获得许可。Qt 及相关的徽标为 The Qt Company Ltd. 在芬兰以及全球其他国家的商标。所有其他商标均为各自所有者的财产。