Миграция с 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.


person Aksandr    schedule 06.07.2016    source источник