Sur cette page

QAnimationGroup Class

La classe `QAnimationGroup` est une classe de base abstraite destinée aux groupes d'animations. En savoir plus...

En-tête : #include <QAnimationGroup>
CMake : find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake : QT += core
Hérite de : QAbstractAnimation
Hérité par :

QParallelAnimationGroup et QSequentialAnimationGroup

Fonctions publiques

QAnimationGroup(QObject *parent = nullptr)
virtual ~QAnimationGroup()
void addAnimation(QAbstractAnimation *animation)
QAbstractAnimation *animationAt(int index) const
int animationCount() const
void clear()
int indexOfAnimation(QAbstractAnimation *animation) const
void insertAnimation(int index, QAbstractAnimation *animation)
void removeAnimation(QAbstractAnimation *animation)
QAbstractAnimation *takeAnimation(int index)

Fonctions protégées réimplémentées

virtual bool event(QEvent *event) override

Description détaillée

Un groupe d'animation est un conteneur d'animations (sous-classes de ` QAbstractAnimation`). Un groupe est généralement chargé de gérer l'state de ses animations, c'est-à-dire qu'il décide quand les démarrer, les arrêter, les reprendre et les mettre en pause. Actuellement, Qt fournit deux groupes de ce type : ` QParallelAnimationGroup ` et ` QSequentialAnimationGroup`. Consultez les descriptions de ces classes pour plus de détails.

Comme `QAnimationGroup` hérite de ` QAbstractAnimation`, vous pouvez combiner des groupes et construire facilement des graphes d’animation complexes. Vous pouvez interroger une ` QAbstractAnimation ` pour connaître le groupe auquel elle appartient (à l’aide de la fonction ` group()`).

Pour lancer un groupe d’animation de niveau supérieur, il suffit d’utiliser la fonction ` start()` à partir de ` QAbstractAnimation`. Par « groupe d’animation de niveau supérieur », on entend un groupe qui n’est pas lui-même contenu dans un autre groupe. Le lancement direct de sous-groupes n’est pas pris en charge et peut entraîner un comportement inattendu.

QAnimationGroup fournit des méthodes pour ajouter et récupérer des animations. En outre, vous pouvez supprimer des animations en appelant removeAnimation() et vider le groupe d'animation en appelant clear(). Vous pouvez suivre les modifications apportées aux animations du groupe en écoutant les événements QEvent::ChildAdded et QEvent::ChildRemoved.

QAnimationGroup prend en charge les animations qu’il gère et veille à ce qu’elles soient supprimées lorsque le groupe d’animations est supprimé.

Voir également « QAbstractAnimation », « QVariantAnimation » et «The Animation Framework».

Documentation des fonctions membres

QAnimationGroup::QAnimationGroup(QObject *parent = nullptr)

Crée un objet `QAnimationGroup`. L'objet ` parent ` est transmis au constructeur de ` QObject`.

[virtual noexcept] QAnimationGroup::~QAnimationGroup()

Supprime le groupe d'animations. Cela supprimera également toutes ses animations.

void QAnimationGroup::addAnimation(QAbstractAnimation *animation)

Ajoute animation à ce groupe. Cela appellera insertAnimation avec un index égal à animationCount().

Remarque : le groupe devient propriétaire de l'animation.

Avertissement : cette méthode ne vérifie pas les boucles d'animation. Il incombe au développeur de s'assurer que l'animation ajouté n'inclut pas, directement ou indirectement, le groupe d'animation this.

Voir également removeAnimation().

QAbstractAnimation *QAnimationGroup::animationAt(int index) const

Renvoie un pointeur vers l'animation située à l'adresse index dans ce groupe. Cette fonction est utile lorsque vous avez besoin d'accéder à une animation particulière. index est compris entre 0 et animationCount() - 1.

Voir également animationCount() et indexOfAnimation().

int QAnimationGroup::animationCount() const

Renvoie le nombre d'animations gérées par ce groupe.

Voir également indexOfAnimation(), addAnimation() et animationAt().

void QAnimationGroup::clear()

Supprime toutes les animations de ce groupe d'animations et réinitialise le temps courant à 0.

Voir également addAnimation() et removeAnimation().

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

Réimplémente : QAbstractAnimation::event(QEvent *event).

int QAnimationGroup::indexOfAnimation(QAbstractAnimation *animation) const

Renvoie l'index de animation. L'index renvoyé peut être transmis à d'autres fonctions qui prennent un index en argument.

Voir également insertAnimation(), animationAt() et takeAnimation().

void QAnimationGroup::insertAnimation(int index, QAbstractAnimation *animation)

Insère l'animation dans ce groupe d'animation à l'index. Si index vaut 0, l'animation est insérée au début. Si index vaut animationCount(), l'animation est insérée à la fin.

Remarque : le groupe devient propriétaire de l’animation.

Avertissement : cette méthode ne vérifie pas la présence de boucles d’animation. Il incombe au développeur de s’assurer que l’ animation t ajoutée n’inclut pas, directement ou indirectement, le groupe d’ this .

Voir également takeAnimation(), addAnimation(), indexOfAnimation() et removeAnimation().

void QAnimationGroup::removeAnimation(QAbstractAnimation *animation)

Supprime animation de ce groupe. La propriété de animation est transférée à l'appelant.

Voir également takeAnimation(), insertAnimation() et addAnimation().

QAbstractAnimation *QAnimationGroup::takeAnimation(int index)

Renvoie l'animation disponible à l'adresse index et la supprime du groupe d'animations.

Remarque : la propriété de l'animation est transférée à l'appelant.

Voir également removeAnimation(), addAnimation(), insertAnimation() et indexOfAnimation().

© 2026 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.