Sur cette page

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.