Qt State Machine
Le module State Machine fournit des classes permettant de créer et d'exécuter des graphes d'état.
Utilisation du module
API QML
Les types QML du module sont disponibles via l'importation QtQml.StateMachine. Pour utiliser les types, ajoutez l'instruction d'importation suivante à votre fichier .qml :
import QtQml.StateMachine
API C++
L'utilisation de l'API C++ d'un module Qt nécessite l'établissement d'un lien avec la bibliothèque du module, soit directement, soit par l'intermédiaire d'autres dépendances. Plusieurs outils de construction disposent d'un support dédié à cet effet, notamment CMake et qmake.
Construction avec CMake
Utilisez la commande find_package() pour localiser le composant de module nécessaire dans le paquetage Qt6:
find_package(Qt6 REQUIRED COMPONENTS StateMachine)
target_link_libraries(mytarget PRIVATE Qt6::StateMachine)Pour plus de détails, voir l'aperçu de la construction avec CMake.
Construction avec qmake
Pour configurer le module afin qu'il soit construit avec qmake, ajoutez le module comme valeur de la variable QT dans le fichier .pro du projet :
QT += statemachine
Articles et guides
Exemples
Référence
Évolution des modules
Changes to Qt State Machine liste les changements importants dans l'API et les fonctionnalités du module qui ont été effectués pour la série Qt 6 de Qt.
Licences
Le module Qt State Machine est disponible sous licence commerciale auprès de The Qt Company. Il est également disponible sous des licences de logiciel libre : La licence GNU Lesser General Public License, version 3, ou la licence GNU General Public License, version 2. Voir Qt Licensing pour plus de détails.
© 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.