QAbstractTransition Class
La classe QAbstractTransition est la classe de base des transitions entre les objets QAbstractState. Plus d'informations...
| En-tête : | #include <QAbstractTransition> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS StateMachine)target_link_libraries(mytarget PRIVATE Qt6::StateMachine) |
| qmake : | QT += statemachine |
| Hérite : | QObject |
| Héritée par : |
Types publics
| enum | TransitionType { ExternalTransition, InternalTransition } |
Propriétés
- sourceState : QState*
- targetState : QAbstractState*
- targetStates : QList<QAbstractState*>
- transitionType : TransitionType
Fonctions publiques
| QAbstractTransition(QState *sourceState = nullptr) | |
| virtual | ~QAbstractTransition() |
| void | addAnimation(QAbstractAnimation *animation) |
| QList<QAbstractAnimation *> | animations() const |
| QBindable<QAbstractTransition::TransitionType> | bindableTransitionType() |
| QStateMachine * | machine() const |
| void | removeAnimation(QAbstractAnimation *animation) |
| void | setTargetState(QAbstractState *target) |
| void | setTargetStates(const QList<QAbstractState *> &targets) |
| void | setTransitionType(QAbstractTransition::TransitionType type) |
| QState * | sourceState() const |
| QAbstractState * | targetState() const |
| QList<QAbstractState *> | targetStates() const |
| QAbstractTransition::TransitionType | transitionType() const |
Signaux
| void | targetStateChanged() |
| void | targetStatesChanged() |
| void | triggered() |
Fonctions protégées
| virtual bool | eventTest(QEvent *event) = 0 |
| virtual void | onTransition(QEvent *event) = 0 |
Fonctions protégées réimplémentées
| virtual bool | event(QEvent *e) override |
Description détaillée
La classe QAbstractTransition est la classe de base abstraite des transitions entre les états (objetsQAbstractState ) d'une QStateMachine. QAbstractTransition fait partie du cadreQt State Machine .
La fonction sourceState() renvoie la source de la transition. La fonction targetStates() renvoie les cibles de la transition. La fonction machine() renvoie la machine d'état dont la transition fait partie.
Le signal triggered() est émis lorsque la transition a été déclenchée.
Les transitions peuvent entraîner la lecture d'animations. Utilisez la fonction addAnimation() pour ajouter une animation à la transition.
Sous-classement
La fonction eventTest() est appelée par la machine d'état pour déterminer si un événement doit déclencher la transition. Dans votre réimplémentation, vous vérifiez généralement le type d'événement et vous moulez l'objet événement dans le type approprié, puis vous vérifiez qu'une ou plusieurs propriétés de l'événement répondent à vos critères.
La fonction onTransition() est appelée lorsque la transition est déclenchée ; réimplémentez cette fonction pour effectuer un traitement personnalisé de la transition.
Documentation sur les types de membres
enum QAbstractTransition::TransitionType
Cette énumération spécifie le type de transition. Par défaut, le type est une transition externe.
| Constante | Valeur | Description |
|---|---|---|
QAbstractTransition::ExternalTransition | 0 | Tout état qui est l'état source d'une transition (qui n'est pas une transition sans cible) est quitté, et réintroduit si nécessaire. |
QAbstractTransition::InternalTransition | 1 | Si l'état cible d'une transition est un sous-état d'un état composé, et que cet état composé est l'état source, une transition interne ne quittera pas l'état source. |
Voir également QAbstractTransition::transitionType.
Documentation sur les propriétés
[read-only] sourceState : QState*
Cette propriété contient l'état source (parent) de cette transition
Fonctions d'accès :
| QState * | sourceState() const |
targetState : QAbstractState*
Cette propriété contient l'état cible de cette transition
Si une transition n'a pas d'état cible, la transition peut toujours être déclenchée, mais cela n'entraînera pas de modification de la configuration de la machine à états (c'est-à-dire que l'état actuel ne sera pas quitté et réintroduit).
Fonctions d'accès :
| QAbstractState * | targetState() const |
| void | setTargetState(QAbstractState *target) |
Signal Notifier :
| void | targetStateChanged() | [see note below] |
Remarque : il s'agit d'un signal privé. Il peut être utilisé dans les connexions de signaux mais ne peut pas être émis par l'utilisateur.
targetStates : QList<QAbstractState*>
Cette propriété contient les états cibles de cette transition
Si plusieurs états sont spécifiés, tous doivent être des descendants du même état de groupe parallèle.
Fonctions d'accès :
| QList<QAbstractState *> | targetStates() const |
| void | setTargetStates(const QList<QAbstractState *> &targets) |
Signal Notifier :
| void | targetStatesChanged() | [see note below] |
Remarque : il s'agit d'un signal privé. Il peut être utilisé dans les connexions de signaux mais ne peut pas être émis par l'utilisateur.
[bindable] transitionType : TransitionType
Note : Cette propriété prend en charge les liaisons QProperty.
indique si cette transition est une transition interne ou une transition externe.
Les transitions internes et externes se comportent de la même manière, sauf dans le cas d'une transition dont l'état source est un état composé et dont la ou les cibles sont des descendants de la source. Dans ce cas, une transition interne ne sortira pas et ne rentrera pas dans son état source, alors qu'une transition externe le fera.
Par défaut, le type est une transition externe.
Fonctions d'accès :
| QAbstractTransition::TransitionType | transitionType() const |
| void | setTransitionType(QAbstractTransition::TransitionType type) |
Documentation des fonctions membres
QAbstractTransition::QAbstractTransition(QState *sourceState = nullptr)
Construit un nouvel objet QAbstractTransition avec l'adresse sourceState.
[virtual noexcept] QAbstractTransition::~QAbstractTransition()
Détruit cette transition.
void QAbstractTransition::addAnimation(QAbstractAnimation *animation)
Ajoute l'adresse animation à cette transition. La transition n'est pas propriétaire de l'animation.
Voir aussi removeAnimation() et animations().
QList<QAbstractAnimation *> QAbstractTransition::animations() const
Renvoie la liste des animations associées à cette transition, ou une liste vide s'il n'y a pas d'animations.
Voir aussi addAnimation().
[override virtual protected] bool QAbstractTransition::event(QEvent *e)
Réimplémente : QObject::event(QEvent *e).
[pure virtual protected] bool QAbstractTransition::eventTest(QEvent *event)
Cette fonction est appelée pour déterminer si l'événement event doit déclencher cette transition. Réimplémentez cette fonction et renvoyez true si l'événement doit déclencher la transition, sinon renvoyez false.
QStateMachine *QAbstractTransition::machine() const
Renvoie la machine d'état dont fait partie cette transition, ou nullptr si la transition ne fait pas partie d'une machine d'état.
[pure virtual protected] void QAbstractTransition::onTransition(QEvent *event)
Cette fonction est appelée lorsque la transition est déclenchée. L'adresse event donnée est ce qui a provoqué le déclenchement de la transition. Réimplémentez cette fonction pour effectuer un traitement personnalisé lorsque la transition est déclenchée.
void QAbstractTransition::removeAnimation(QAbstractAnimation *animation)
Supprime le site animation de cette transition.
Voir aussi addAnimation().
void QAbstractTransition::setTargetState(QAbstractState *target)
Définit l'état target de cette transition.
Note : Fonction de définition de la propriété targetState.
Voir aussi targetState().
void QAbstractTransition::setTargetStates(const QList<QAbstractState *> &targets)
Définit les états cibles de cette transition comme étant les états donnés targets.
Remarque : fonction de définition de la propriété targetStates.
Voir aussi targetStates().
void QAbstractTransition::setTransitionType(QAbstractTransition::TransitionType type)
Définit le type de la transition à type.
Remarque : fonction de définition de la propriété transitionType.
Voir également transitionType().
QState *QAbstractTransition::sourceState() const
Renvoie l'état source de cette transition, ou nullptr si cette transition n'a pas d'état source.
Note : Fonction Getter pour la propriété sourceState.
QAbstractState *QAbstractTransition::targetState() const
Renvoie l'état cible de cette transition, ou nullptr si la transition n'a pas de cible.
Note : Fonction Getter pour la propriété targetState.
Voir aussi setTargetState().
[private signal] void QAbstractTransition::targetStateChanged()
Ce signal est émis lorsque la propriété targetState est modifiée.
Remarque : il s'agit d'un signal privé. Il peut être utilisé dans les connexions de signaux mais ne peut pas être émis par l'utilisateur.
Note : Signal de notification pour la propriété targetState.
Voir aussi QAbstractTransition::targetState.
QList<QAbstractState *> QAbstractTransition::targetStates() const
Renvoie les états cibles de cette transition, ou une liste vide si cette transition n'a pas d'états cibles.
Note : Fonction Getter pour la propriété targetStates.
Voir aussi setTargetStates().
[private signal] void QAbstractTransition::targetStatesChanged()
Ce signal est émis lorsque la propriété targetStates est modifiée.
Remarque : il s'agit d'un signal privé. Il peut être utilisé dans les connexions de signaux mais ne peut pas être émis par l'utilisateur.
Note : Signal de notification pour la propriété targetStates.
Voir aussi QAbstractTransition::targetStates.
QAbstractTransition::TransitionType QAbstractTransition::transitionType() const
Renvoie le type de la transition.
Note : Fonction Getter pour la propriété transitionType.
Voir aussi setTransitionType().
[private signal] void QAbstractTransition::triggered()
Ce signal est émis lorsque la transition a été déclenchée (après que onTransition() a été appelé).
Remarque : il s'agit d'un signal privé. Il peut être utilisé dans les connexions de signaux mais ne peut pas être émis par l'utilisateur.
© 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.