Sur cette page

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 :

QEventTransition et QSignalTransition

Types publics

enum TransitionType { ExternalTransition, InternalTransition }

Propriétés

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

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.

ConstanteValeurDescription
QAbstractTransition::ExternalTransition0Tout é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::InternalTransition1Si 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.