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 に答える