2010-10-28 22 views
1

我試圖將QVariantMap轉換爲Qt Script對象。如果我理解正確的話應該是這樣的:Qt QScriptEngine和從Qt腳本到C++的默認轉換

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值。但根本問題是我得到的腳本對象似乎沒有任何地圖上的屬性開始。

那麼,我錯過了什麼?

回答

2

好吧,所以我想出了我的問題。如果我會正確讀取規格,我會注意到toScriptValue()方法不會帶指針。所以修復是:

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