我将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("什么永远");? 我找到的唯一方法是here,因此用户应该放置一些像Logger.PrintLog("什么永远");其中Logger是一个继承自带有PrintLog槽的QObject的类。