2013-07-08 2 views

ответ

0

Для стандартных контейнеров qScriptValueFromSequence() работает нормально. Для других типов вам, вероятно, придется создать свою собственную функцию преобразования, посмотрите на qScriptRegisterMetaType().

+0

только что проверил Qt Assistant. похоже, что он может автоматически преобразовывать тип QVariantMap? Но знаете ли вы, как это сделать. Верьте, что QVariantMap будет выполнять ту же задачу, что и QVariantHash. это будет отлично, если поддерживается автоматическое преобразование. – zhongzhu

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(); 
Смежные вопросы