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

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.

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.