1

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("what ever"); を置くことができます。たとえば、私のアプリケーションでは、QLineEdit と関数 pars::PrintMainLog が評価されます。

QJSEngine でこれを行う方法はありますか? それで、ユーザーが同じ PrintLog("what ever");? 私が見つける唯一の方法はhereであるため、ユーザーは Logger.PrintLog("what ever"); のようなものを配置する必要があります。ここで、Logger は PrintLog スロットを持つ QObject から継承されたクラスです。

4

0 に答える 0