QSequentialAnimationGroup Class

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

Header: #include <QSequentialAnimationGroup>
CMake.QSequentialAnimationGroup 类 find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += 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 int duration() const override

信号

void currentAnimationChanged(QAbstractAnimation *current)

重新实现的受保护函数

virtual bool event(QEvent *event) override
virtual void updateCurrentTime(int currentTime) override
virtual void updateDirection(QAbstractAnimation::Direction direction) override
virtual void updateState(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 是两个已经设置好的QPropertyAnimations。

另请参阅 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)

QSequentialAnimationGroup currentAnimation 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()。

[override virtual protected] void QSequentialAnimationGroup::updateCurrentTime(int currentTime)

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

[override virtual protected] void QSequentialAnimationGroup::updateDirection(QAbstractAnimation::Direction direction)

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

[override virtual protected] void QSequentialAnimationGroup::updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState)

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

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.