Changes to Qt SCXML

Qt 6 is a result of the conscious effort to make the framework more efficient and easy to use.

We try to maintain binary and source compatibility for all the public APIs in each release. But some changes were inevitable in an effort to make Qt a better framework.

In this topic we summarize those changes in Qt SCXML module, and provide guidance to handle them.

Changes overview

The Qt SCXML module is largely source compatible with the Qt5 version and users of the library should be able to continue with no or minor changes to their project.

API changes

QScxmlEcmaScriptDataModel API removal

The ecmascript datamodel, when enabled, introduces a dependency to the Qt QML library. In Qt5 this depedendency is created at build time, whereas in Qt6 the dependency is moved to runtime (internally a plugin). As a consequence the QScxmlEcmaScriptDataModel class is no longer part of the public API.

Build system

As with Qt6 in general, the Qt SCXML module has cmake support in addition to qmake.

QML imports

The QML import versioning is optional unless one has a specific reason for not using the latest. Generally speaking the versioned imports work from version 5.8 to 6.x, where 'x' is the current minor release.

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