The Qt SCXML module provides functionality to create state machines from SCXML files. This includes both dynamically creating state machines (loading the SCXML file and instantiating states and transitions) and generating a C++ file that has a class implementing the state machine. It also contains functionality to support data models and executable content.
To include the definitions of the module's classes, use the following directive:
To import the QML types into your application, use the following import statement in your .qml file:
To link against the module:
find_package(Qt6 COMPONENTS Scxml REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Scxml)
QT += scxml
- Qt SCXML Overview
- Instantiating State Machines
- SCXML Compliance
- Using the Qt SCXML Compiler (qscxmlc)
Changes to Qt SCXML lists important changes in the module API and functionality that were done for the Qt 6 series of Qt.
The Qt SCXML module is available under commercial licenses from The Qt Company. In addition, it is available under free software licenses: The GNU Lesser General Public License, version 3, or the GNU General Public License, version 2. See Qt Licensing for further details.
Furthermore, Qt SCXML in Qt 6.1.1 may contain third party modules under following permissive licenses:
© 2021 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.