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 import the QML types into your application, use the following import statement in your .qml file:
To link against the module:
find_package(Qt6 REQUIRED COMPONENTS Scxml) target_link_libraries(mytarget PRIVATE Qt6::Scxml)
QT += scxml
Articles and Guides
- 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.
Licenses and Trademarks
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.
© 2023 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.