This is done by exposing different kinds of entities to and from scripts.
The simplest way to expose data to Qt Script is to take advantage of Qt's meta-object system. Qt Script is able to inspect
QObject instances and detect their properties and methods. To use them in scripts, the object has to be visible to the script execution context. The easiest way to make this happen is to add it to the engine's global object or to some context's activation object. As you remember, all data between the script engine and C++ is exchanged using the
QScriptValue class, so first we have to obtain a script value handle for the C++ object:
QScriptEngine engine; QPushButton *button = new QPushButton("Button"); // … QScriptValue scriptButton = engine.newQObject(button); engine.globalObject...