PDA

View Full Version : QtScript. How to add created object to script?



sergey_85
18th February 2010, 06:43
Hi to all!

I need to add created objects to qscript.

for example:

void addObjectToScript()
{
MyQObject *myObj = new MyQObject(0);

//how to add created object to script, aslo script must be ownership of this object (object deleted by script env.)

scriptEngine->... //???

}


Thanks!

JohannesMunk
18th February 2010, 14:24
engine->newQObject(new MyQObject(), QScriptEngine::ScriptOwnership);

Probably you will want to call the constructor from script as well?



c++:
QScriptValue myQObjectConstructor(QScriptContext *context, QScriptEngine *engine)
{
// let the engine manage the new object's lifetime.
return engine->newQObject(new MyQObject(), QScriptEngine::ScriptOwnership);
}

scripting->globalObject().setProperty("MyQObject", scripting->newFunction(myQObjectConstructor));

script:
..
var q = new MyQObject();
..


Carefully read through http://doc.trolltech.com/latest/scripting.html

It took me several times :->

Johannes