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 : |
- Liste de tous les membres, y compris les membres hérités
- QAnimationGroup fait partie du framework d'animation.
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.