Russian Qt Forum

Qt => Qt Script, QtWebKit => Тема начата: rukudias от Май 13, 2009, 14:58



Название: QVariantMap вскрипт!
Отправлено: rukudias от Май 13, 2009, 14:58
Привет Всем!
Нужно заполнить обьект QVariantMap и передать его в скрипт.
как это осуществить?


Название: Re: QVariantMap вскрипт!
Отправлено: ax от Май 13, 2009, 17:06
Цитировать
Default Conversion from C++ to Qt Script

The following table describes the default behavior when a QScriptValue is constructed from a C++ type:
...............
C++ Type   Default Construction
QVariantMap   A new script object (created with QScriptEngine::newObject()), whose properties are initialized according to the (key, value) pairs of the map.


Название: Re: QVariantMap вскрипт!
Отправлено: rukudias от Май 13, 2009, 17:23
типа так
QScriptEngine scriptEngine;
QScriptValue script_map = scriptEngine.newObject();
scriptEngine.globalObject().setProperty("variant", script_map);

а хотелось вот так
QVariantMap store;

store["state"]=1;

//здесь чудоспособ передачи а  в скрипте

if(variant["state"]==1)
{

}
else
{

}



Название: Re: QVariantMap вскрипт!
Отправлено: rukudias от Май 13, 2009, 18:10
вот ТАК!
store["1"]=90;
QScriptValue script_map =scriptEngine.toScriptValue(store);
scriptEngine.globalObject().setProperty("variant", script_map);