QFinalState Class
La classe QFinalState fournit un état final. En savoir plus...
| En-tête : | #include <QFinalState> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS StateMachine) target_link_libraries(mytarget PRIVATE Qt6::StateMachine) |
| qmake : | QT += statemachine |
| Hérite de : | QAbstractState |
Fonctions publiques
| QFinalState(QState *parent = nullptr) | |
| virtual | ~QFinalState() |
Fonctions protégées réimplémentées
| virtual bool | event(QEvent *e) override |
| virtual void | onEntry(QEvent *event) override |
| virtual void | onExit(QEvent *event) override |
Description détaillée
Un état final sert à indiquer qu'un (ou une partie d') QStateMachine e a terminé son travail. Lorsqu'un état final de niveau supérieur est atteint, le signal finished() de la machine à états est émis. En général, lorsqu’on entre dans un sous-état final (enfant d’un QState), le signal finished() de l’état parent est émis. QFinalState fait partie du frameworkQt State Machine .
Pour utiliser un état final, vous créez un objet QFinalState et vous y ajoutez une transition depuis un autre état. Exemple :
QPushButton button;
QStateMachine machine;
QState *s1 = new QState();
QFinalState *s2 = new QFinalState();
s1->addTransition(&button, SIGNAL(clicked()), s2);
machine.addState(s1);
machine.addState(s2);
QObject::connect(&machine, SIGNAL(finished()), QApplication::instance(), SLOT(quit()));
machine.setInitialState(s1);
machine.start();Voir également QState::finished().
Documentation des fonctions membres
QFinalState::QFinalState(QState *parent = nullptr)
Crée un nouvel objet `QFinalState` avec l'état d'parent ion spécifié.
[virtual noexcept] QFinalState::~QFinalState()
Supprime cet état final.
[override virtual protected] bool QFinalState::event(QEvent *e)
Réimplémente : QAbstractState::event(QEvent *e).
[override virtual protected] void QFinalState::onEntry(QEvent *event)
Réimplémente : QAbstractState::onEntry(QEvent *event).
[override virtual protected] void QFinalState::onExit(QEvent *event)
Réimplémente : QAbstractState::onExit(QEvent *event).
© 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.