QSequentialAnimationGroup Class

The QSequentialAnimationGroup class provides a sequential group of animations. More...

Header: #include <QSequentialAnimationGroup>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
Inherits: QAnimationGroup

Properties

Public Functions

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

Reimplemented Public Functions

virtual int duration() const override

Signals

void currentAnimationChanged(QAbstractAnimation *current)

Reimplemented Protected Functions

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

Detailed Description

QSequentialAnimationGroup is a QAnimationGroup that runs its animations in sequence, i.e., it starts one animation after another has finished playing. The animations are played in the order they are added to the group (using addAnimation() or insertAnimation()). The animation group finishes when its last animation has finished.

At each moment there is at most one animation that is active in the group; it is returned by currentAnimation(). An empty group has no current animation.

A sequential animation group can be treated as any other animation, i.e., it can be started, stopped, and added to other groups. You can also call addPause() or insertPause() to add a pause to a sequential animation group.

     QSequentialAnimationGroup *group = new QSequentialAnimationGroup;

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

     group->start();

In this example, anim1 and anim2 are two already set up QPropertyAnimations.

See also QAnimationGroup, QAbstractAnimation, and The Animation Framework.

Property Documentation

[bindable read-only] currentAnimation : QAbstractAnimation*

Note: This property supports QProperty bindings.

This property holds the animation in the current time.

Member Function Documentation

QSequentialAnimationGroup::QSequentialAnimationGroup(QObject *parent = nullptr)

Constructs a QSequentialAnimationGroup. parent is passed to QObject's constructor.

[virtual noexcept] QSequentialAnimationGroup::~QSequentialAnimationGroup()

Destroys the animation group. It will also destroy all its animations.

QPauseAnimation *QSequentialAnimationGroup::addPause(int msecs)

Adds a pause of msecs to this animation group. The pause is considered as a special type of animation, thus animationCount will be increased by one.

See also insertPause() and QAnimationGroup::addAnimation().

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

QSequentialAnimationGroup emits this signal when currentAnimation has been changed. current is the current animation.

Note: Notifier signal for property currentAnimation.

See also currentAnimation().

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

Reimplements: QAbstractAnimation::duration() const.

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

Reimplements: QAnimationGroup::event(QEvent *event).

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

Inserts a pause of msecs milliseconds at index in this animation group.

See also addPause() and QAnimationGroup::insertAnimation().

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

Reimplements: QAbstractAnimation::updateCurrentTime(int currentTime).

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

Reimplements: QAbstractAnimation::updateDirection(QAbstractAnimation::Direction direction).

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

Reimplements: QAbstractAnimation::updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState).