我知道我可以使用下面的方法向QtScript公开QStringList,但是我如何公开一个QVariantHash呢?
QStringList l;
l<<"2";
QScriptValue v = qScriptValueFromSequence(&engine, l);
engine.globalObject().setProperty("v", v);发布于 2013-07-08 17:19:50
对于标准容器,qScriptValueFromSequence()运行得很好。对于其他类型,您可能需要创建自己的转换函数,请查看qScriptRegisterMetaType()。
发布于 2013-07-10 13:05:17
您可以使用engine.toStriptValue()向QtScript公开QVariantMap
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();https://stackoverflow.com/questions/17522618
复制相似问题