0

我知道我可以使用以下方式将 QStringList 公开给 QtScript,但是如何公开 QVariantHash?

QStringList l;
l<<"2";
QScriptValue v = qScriptValueFromSequence(&engine, l);
engine.globalObject().setProperty("v", v);
4

2 回答 2

0

您可以使用 engine.toStriptValue() 将 QVariantMap 公开给 QtScript

QVariantMap map;
map["a"] = 3;
map["b"] = 4;

QScriptValue v = engine.toScriptValue(map);
engine.globalObject().setProperty("m", v);

engine.evaluate("var h = new Haha()");
qDebug()<<engine.evaluate("h.add(m)").toString();
于 2013-07-10T05:05:16.517 回答
0

对于标准容器qScriptValueFromSequence()运行良好。对于其他类型,您可能必须创建自己的转换函数,请查看qScriptRegisterMetaType().

于 2013-07-08T09:19:50.090 回答