SCXML 兼容性

支持的数据模型

Qt SCXML 支持以下数据模型

支持元素和属性

Qt SCXML 实现是 SCXML 兼容的,有一些例外

  • 事件数据(_event.data)实现为 QVariant。如果 <send> 传递参数,则 QVariant 会包含一个 QVariantMap,因此不支持具有相同名称的多个参数。
  • 没有事件的原生表示。
  • 不支持(可选)基本 http 事件 I/O 处理器。
  • <script> 标签和 <data> 标签的内容必须适用于所选数据模型。例如:<data> 内部的 XML 内容不受支持。但是,ECMAScript 数据模型支持 JSON 格式的数据。
  • 只有可以通过 <invoke> 实例化的服务是另一个 SCXML 状态机。
  • 为了保持动态创建的状态机和编译的状态机的行为一致,不支持 typeexprsrcexpr 属性。此外,如果在 <invoke> 标签内使用 <content> 标签,该内容必须是 XML。具体来说,不支持动态创建 SCXML,例如使用 ECMAScript 数据模型连接字符串。

Qt SCXML 扩展

Qt SCXML 实现以下扩展 SCXML

  • 如果事件是错误事件,_event.errorMessage 将包含对错误的更详细描述。

© 2024 Qt 公司有限公司。此处包含的文档贡献的版权归其各自的所有者。此处提供的文档根据自由软件基金会发布的 GNU 自由文档许可证版本 1.3 的条款授予许可。Qt 和相应标志是芬兰的 Qt 公司及其全球其他国家的商标。所有其他商标均为其各自所有者的财产。