Scripting

Qt 具有三种主要方法, 使应用程序可以执行脚本. 这些方法都允许将 ECMAScript (更广泛地称为 JavaScript) 语言轻松集成到应用程序中. 根据集成的深度不同, 可以使用以下 API 之一:

Qt Script Module

Qt Script 是一个独立的模块,设计时考虑了脚本应用程序。 它拥有成熟且丰富的 API,可以真正深度集成脚本功能。 它允许评估和调试脚本,以及对象和函数的高级使用。 它还允许访问真正低级的 ECMAScript 引擎 API. 详见 Qt JavaScript.

JS API

这是一个简单的 API, 与 Qt Script 非常类似, 但仅限于基本功能. 主要的类是 QJSEngineQJSValue, 它们可用于嵌入纯 ECMAScript 功能, 例如评估脚本和调用函数.

QML

QML 集成并修改 ECMAScript 环境. 它旨在与前面提到的 JavaScript API 很好地混合. QML 可以在没有 Qt Quick 组件的情况下使用, 这对于服务器端脚本编写可能很有用. 使用 QML, 可以混合纯 ECMAScript 和声明性组件 (Use Case - Integrating JavaScript in QML).

所有这三个脚本解决方案都与 the Meta-Object System 无缝地互操作, 这意味着 QObject 实例的所有信号, 槽函数和属性都可以在 ECMAScript 环境中访问.