1

我正在尝试将 QVariantMap 转换为 Qt Script 对象。如果我理解正确,它应该是这样的:

QScriptEngine* engine = new QScriptEngine();
QVariantMap* test = new QVariantMap();
test.insert("testkey", QString("testvalue"));
QScriptValue testqs = engine->toScriptValue(test);
QString value = testqs.property("testkey").toString();

我不确定这是否是事件尝试从 ScriptValue 请求值的正确方法。但根本问题是我得到的 Script 对象似乎没有地图中的任何属性。

那么,我错过了什么?

4

1 回答 1

2

好的,所以我发现了我的问题。如果我能正确阅读规范,我会注意到 toScriptValue() 方法不会使用指针。所以修复是:

QScriptValue testqs = engine->toScriptValue(*test);
于 2010-10-28T10:04:40.080 回答