Sur cette page

QAbstractTransition Class

La classe `QAbstractTransition` est la classe de base des transitions entre les objets ` QAbstractState `. En savoir plus…

En-tête : #include <QAbstractTransition>
CMake : find_package(Qt6 REQUIRED COMPONENTS StateMachine)
target_link_libraries(mytarget PRIVATE Qt6::StateMachine)
qmake : QT += statemachine
Hérite de : QObject
Hérité 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 (objets de type `QAbstractState `) d'une instance de ` QStateMachine`. QAbstractTransition fait partie du frameworkQt 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 à états dont fait partie la transition.

Le signal triggered() est émis lorsque la transition a été déclenchée.

Les transitions peuvent déclencher 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 à états 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, vous convertissez l’objet événement au 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, il s'agit d'une transition externe.

ConstanteValeurDescription
QAbstractTransition::ExternalTransition0Tout état qui est l’état source d’une transition (autre qu’une transition sans destination) est quitté, puis réintégré 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, elle peut tout de même ê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 ni quitté ni réintégré).

Fonctions d'accès :

QAbstractState *targetState() const
void setTargetState(QAbstractState *target)

Signal de notification :

void targetStateChanged()[see note below]

Remarque : il s’agit d’un signal privé. Il peut être utilisé dans des 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, ils doivent tous ê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 de notification :

void targetStatesChanged()[see note below]

Remarque : il s'agit d'un signal privé. Il peut être utilisé dans des connexions de signaux, mais ne peut pas être émis par l'utilisateur.

[bindable] transitionType : TransitionType

Remarque : cette propriété prend en charge les liaisons de type « 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 l'état source. Dans ce cas, une transition interne ne quittera pas son état source pour y revenir, contrairement à une transition externe.

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)

Crée un nouvel objet `QAbstractTransition` avec l'sourceState` indiquée.

[virtual noexcept] QAbstractTransition::~QAbstractTransition()

Supprime cette transition.

void QAbstractTransition::addAnimation(QAbstractAnimation *animation)

Ajoute l'animation spécifiée à cette transition. La transition ne prend pas possession de l'animation.

Voir également ` removeAnimation()` et ` animations()`.

QList<QAbstractAnimation *> QAbstractTransition::animations() const

Renvoie la liste des animations associées à cette transition, ou une liste vide si celle-ci ne comporte aucune animation.

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'event ion fournie 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 à états dont fait partie cette transition, ou ` nullptr ` si la transition ne fait pas partie d'une machine à états.

[pure virtual protected] void QAbstractTransition::onTransition(QEvent *event)

Cette fonction est appelée lorsque la transition est déclenchée. L'event, qui est l'élément ayant 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 l'animation on indiquée de cette transition.

Voir aussi addAnimation().

void QAbstractTransition::setTargetState(QAbstractState *target)

Définit l'état « target » de cette transition.

Remarque : fonctionde 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 l'targets fournie.

Remarque : fonctionde définition de la propriété targetStates.

Voir aussi targetStates().

void QAbstractTransition::setTransitionType(QAbstractTransition::TransitionType type)

Définit le type de transition sur « type ».

Remarque : fonctionde 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.

Remarque : fonctiongetter pour la propriété sourceState.

QAbstractState *QAbstractTransition::targetState() const

Renvoie l'état cible de cette transition, ou ` nullptr ` si la transition n'a pas d'état cible.

Remarque : fonctionde lecture 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.

Remarque : signalde notification pour la propriété targetState.

Voir également QAbstractTransition::targetState.

QList<QAbstractState *> QAbstractTransition::targetStates() const

Renvoie les états cibles de cette transition, ou une liste vide si cette transition ne comporte aucun état cible.

Remarque : fonctionde lecture 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.

Remarque : signalde notification pour la propriété targetStates.

Voir également QAbstractTransition::targetStates.

QAbstractTransition::TransitionType QAbstractTransition::transitionType() const

Renvoie le type de la transition.

Remarque : fonctiongetter 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 l'appel de la fonction onTransition()).

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.