Changes to Qt SCXML

Qt 6 是努力使框架更高效,且更易於使用的結果。

為兼容每個發行的所有公共 API,我們試著維護二進製和源代碼。但是,為使 Qt 成為更優框架,一些改變是不可避免的。

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

變化概述

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 變化

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.

構建係統

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

QML 導入

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.