我創建了一個QScriptEngine,並公開了一個可以從js腳本調用的對象函數。Qt:如何從qscriptengine傳遞數組或字典?
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);
當它不起作用時,很難將其解決,這個呼叫似乎默默無聞。
你試過QVariantList嗎? – jpnurmi