Миграция с QScriptEngine на QJSEngine
Я перевожу код QScriptEngine в QJSEngine. Теперь у меня есть:
class pars
{
public:
static QScriptValue PrintMainLog(QScriptContext* c, QScriptEngine* e);
};
QScriptValue pars::PrintMainLog(QScriptContext* c, QScriptEngine* e)
{
//some actions
return e->globalObject().property("");
}
...
QScriptEngine engine;
...
engine.globalObject().setProperty("PrintLog",engine.newFunction(pars::PrintMainLog));
Итак, пользователь может поставить PrintLog("что нибудь"); в моем приложении, например, QLineEdit и функция pars::PrintMainLog будут вычисляться.
Есть ли способ сделать это с QJSEngine? Так, чтобы пользователь поставил тот же PrintLog("что когда-либо")? Единственный способ найти это здесь, поэтому пользователь должен поместить что-то вроде Logger.PrintLog("что-нибудь"); где Logger - это класс, унаследованный от QObject со слотом PrintLog.