我是Qt Script的新手。我有一个工作"占位符"不带参数的脚本,从Qt应用程序调用。现在我想添加参数,特别是QBitArray(或其内容的一些表示)和一些整数。有谁知道怎么做?
This question涉及使用脚本包装本机函数,以便可以调用本机函数(带参数)。但我正在反过来 - 从Qt应用程序调用外部脚本并提供参数。
我已经阅读了official docs,它也讨论了函数包装,但除非我遗漏了一些内容,否则我只会看到它讨论我没有参数的脚本的用例。
有谁知道如何将参数从Qt应用程序传递到外部Qt脚本?
答案 0 :(得分:0)
第二部分展示了如何传递参数。这更简单。这是相关位的副本/过去:
QScriptEngine engine;
QScriptValue global = engine.globalObject();
engine.evaluate("function cube(x) { return x * x * x; }");
QScriptValue cube = global.property("cube");
QScriptValueList args;
args << 3;
qDebug() << cube.call(QScriptValue(), args).toNumber(); // 27
现在,QScripts不需要正式参数。您可以传递可变数量的参数,例如通过重复args&lt;&lt;在循环中,并使用特殊参数[]属性来引用它们,如下所示:
function foo()
{
return arguments[0] + arguments[1];
}