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

0 ответов

Другие вопросы по тегам