ScriptEngine 类
class QInstaller::ScriptEngineScriptEngine 类用于准备和运行组件脚本。更多...
头文件 | #include <ScriptEngine> |
继承 | QObject |
公共函数
ScriptEngine(QInstaller::PackageManagerCore *core = 0) | |
void | addToGlobalObject(QObject *object) |
QJSValue | callScriptMethod(const QJSValue &scriptContext, const QString &methodName, const QJSValueList &arguments = QJSValueList()) |
QJSValue | evaluate(const QString &program, const QString &fileName = QString(), int lineNumber = 1) |
QJSValue | globalObject() const |
QJSValue | loadInContext(const QString &context, const QString &fileName, const QString &scriptInjection = QString()) |
QJSValue | newArray(uint length = 0) |
QJSValue | newQObject(QObject *object, bool qtScriptCompat = true) |
void | removeFromGlobalObject(QObject *object) |
成员函数文档
[显式]
ScriptEngine::ScriptEngine(QInstaller::PackageManagerCore *core = 0)
使用 core 作为父对象构造脚本引擎。
void ScriptEngine::addToGlobalObject(QObject *object)
在引擎中注册 QObject object,使其在全球范围内可通过其对象名称访问。
QJSValue ScriptEngine::callScriptMethod(const QJSValue &scriptContext, const QString &methodName, const QJSValueList &arguments = QJSValueList())
尝试在脚本中调用由 methodName 指定的方法,并使用 arguments 指定的参数,返回结果。如果方法不存在或不可调用,则返回未定义的结果。如果方法调用成功但返回值仍然是未定义的,则返回 null 值。如果方法调用抛出异常,则其字符串表示形式作为 Error 异常抛出。
注意:如果 scriptContext 是同一方法,不会调用该方法,以避免无限递归。
QJSValue ScriptEngine::evaluate(const QString &program, const QString &fileName = QString(), int lineNumber = 1)
使用lineNumber作为基线号评估program,并返回评估结果。fileName用于错误报告。
QJSValue ScriptEngine::globalObject() const
返回一个全局对象。
QJSValue ScriptEngine::loadInContext(const QString &context, const QString &fileName, const QString &scriptInjection = QString())
将脚本加载到指定的context中,在ScriptEngine的fileName内部。
安装程序及其所有组件以及其他有用的内容都导出到脚本中。有关更多信息,请参阅组件脚本。当fileName中的脚本无法打开或QScriptEngine无法评估脚本时,将抛出错误。
TODO:文档scriptInjection。
QJSValue ScriptEngine::newArray(uint length = 0)
创建一个具有指定length的类Array的JavaScript对象。
QJSValue ScriptEngine::newQObject(QObject *object, bool qtScriptCompat = true)
创建一个包含给定的QObject object的JavaScript对象。
object的信号和槽,属性和子项作为创建的QJSValue的属性使用。如果qtScriptCompat设置为true
(默认),则添加了来自旧版QtScript
模块的一些辅助方法和属性
- findChild(),findChildren()递归地搜索具有给定对象名的子对象。
- 直接子对象以其各自的对象名作为属性下的属性进行访问。
void ScriptEngine::removeFromGlobalObject(QObject *object)
从全局对象中删除object名称。
©2021 Qt公司有限公司。此处包含的文档贡献是各自所有者的版权。所提供的文档是根据由自由软件基金会发布的GNU自由文档许可证版本1.3的条款许可的。Qt公司,Qt及其相关标志是芬兰以及/或其他国家的Qt公司有限的责任商标。所有其他商标均为其各自所有者的财产。