Qt SCXML
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.
Getting Started
To include the definitions of the module's classes, use the following directive:
#include <QScxmlStateMachine>
To import the QML types into your application, use the following import statement in your .qml file:
import QtScxml
To link against the module:
Using cmake:
find_package(Qt6 COMPONENTS Scxml REQUIRED)
target_link_libraries(mytarget PRIVATE Qt6::Scxml)
Using qmake:
QT += scxml
Articles and Guides
- Qt SCXML Overview
- Instantiating State Machines
- SCXML Compliance
- Using the Qt SCXML Compiler (qscxmlc)
Examples
Reference
Module Evolution
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.