- Qt 6.8
- Qt Core
- C++ Classes
- QSequentialAnimationGroup
- Qt 6.8.3 Reference Documentation

# 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

- List of all members, including inherited members
- QSequentialAnimationGroup is part of Animation Framework.

## Properties

- currentAnimation : QAbstractAnimation*

## 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).