QAnimationGroup Class

The QAnimationGroup class is an abstract base class for groups of animations. More...

Header: #include <QAnimationGroup>
qmake: QT += core
Since: Qt 4.6
Inherits: QAbstractAnimation
Inherited By:

QParallelAnimationGroup and QSequentialAnimationGroup

This class was introduced in Qt 4.6.

Detailed Description

An animation group is a container for animations (subclasses of QAbstractAnimation). A group is usually responsible for managing the state of its animations, i.e., it decides when to start, stop, resume, and pause them. Currently, Qt provides two such groups: QParallelAnimationGroup and QSequentialAnimationGroup. Look up their class descriptions for details.

Since QAnimationGroup inherits from QAbstractAnimation, you can combine groups, and easily construct complex animation graphs. You can query QAbstractAnimation for the group it belongs to (using the group() function).

To start a top-level animation group, you simply use the start() function from QAbstractAnimation. By a top-level animation group, we think of a group that itself is not contained within another group. Starting sub groups directly is not supported, and may lead to unexpected behavior.

QAnimationGroup provides methods for adding and retrieving animations. Besides that, you can remove animations by calling removeAnimation(), and clear the animation group by calling clear(). You may keep track of changes in the group's animations by listening to QEvent::ChildAdded and QEvent::ChildRemoved events.

QAnimationGroup takes ownership of the animations it manages, and ensures that they are deleted when the animation group is deleted.

See also QAbstractAnimation, QVariantAnimation, and The Animation Framework.