我创建了一个 QScriptEngine 并公开了一个可以从 js 脚本调用的对象函数。
engine->globalObject().setProperty("obj", myObj);
myObj 是一个 QObject,其功能类似于...
void MyObject::doSomething(int w, int h) {
...
}
在我的 js 代码中,我可以这样称呼它......
obj.doSomething(5, 9);
这可以按我的预期工作,但我找不到任何关于将数组或字典传递给这些函数的文档。例如,如果我想传递一个数组,我将如何定义 C++ 函数以便我可以做这样的事情......
obj.doSomething([1,2,3], "foo");
会不会是这样的...
void MyObject::doSomething(QVector<QVariant> firstArg, QString secondArg);
很难解决,因为当它不起作用时,呼叫似乎默默地失败了。