Sur cette page

Qt State Machine

Le framework State Machine fournit des classes permettant de créer et d'exécuter des graphes d'états.

Utilisation du module

API QML

Les types QML du module sont accessibles via l'importation QtQml.StateMachine. Pour utiliser ces types, ajoutez la déclaration d'importation suivante à votre fichier .qml :

import QtQml.StateMachine

API C++

L'utilisation de l'API C++ d'un module Qt nécessite une liaison avec la bibliothèque du module, soit directement, soit via d'autres dépendances. Plusieurs outils de compilation prennent cela en charge, notamment CMake et qmake.

Compilation avec CMake

Utilisez la commande « find_package() » pour localiser le composant de module requis dans le paquet « Qt6 » :

find_package(Qt6 REQUIRED COMPONENTS StateMachine)
target_link_libraries(mytarget PRIVATE Qt6::StateMachine)

Pour plus de détails, consultez la présentation « Compilation avec CMake ».

Compilation avec qmake

Pour configurer le module en vue d’une compilation avec qmake, ajoutez le module en tant que valeur de la variable ` QT ` dans le fichier .pro du projet :

QT += statemachine

Articles et guides

Exemples

Référence

Évolution des modules

La section «Modifications apportées à Qt State Machine » répertorie les modifications importantes apportées à l'API et aux fonctionnalités du module dans le cadre de la série Qt 6 de Qt.

Licences

Le module « Qt State Machine » est disponible sous des licences commerciales auprès de The Qt Company. Il est également disponible sous des licences de logiciels libres : la Licence publique générale restreinte GNU, version 3, ou la Licence publique générale GNU, version 2. Pour plus de détails, consultez la page Licences Qt.

© 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.