Qt QScriptEngine и преобразования по умолчанию из Qt Script в C ++ - PullRequest
1 голос
/ 28 октября 2010

Я пытаюсь преобразовать 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, который я получаю, похоже, не обладает какими-либо свойствами, которые были на карте для начала.

Итак, что мне не хватает?

1 Ответ

2 голосов
/ 28 октября 2010

Хорошо, так что я разобрался в своей проблеме.Если бы я правильно прочитал спецификации, я бы заметил, что метод toScriptValue () не принимает указатель.Итак, исправление было:

QScriptValue testqs = engine->toScriptValue(*test);
...