草庐IT

QJSEngine

全部标签

c++ - QJSEngine 删除了我的 QObject,如何在 QJSEngine::newQObject 之后更改所有权?

尝试以子类QObject作为参数执行小脚本。QJSEnginejsEngine;QJSValuearg=jsEngine.newQObject(child);//Childit'ssubclassedQObjectQJSValuefunction=jsEngine.evaluate(m_childRestriction);QJSValueresult=function.call(QJSValueList()在销毁jsEngine时,它​​为我的子对象调用delete(因为newQObject使用JavaScriptOwnership创建它)。如何避免它,如何更改arg的所有权?脚本很简

c++ - QtScript vs QJSEngine 什么时候使用一个或另一个?

我必须在C++应用程序中运行一系列javascript“脚本”。其中大部分是重复Action。代码示例here.我知道Qt,因为第5版包含2个javascript引擎:QtScript和QJSEngine。我的问题是我们应该在哪些情况下使用一种或另一种?哪个在哪些情况下表现更好? 最佳答案 如果您正在进行新的开发并且还没有真正依赖它们中的任何一个,那么您绝对应该选择QJSEngine。例如,您可以找到许多从技术角度解释差异的文章我建议看看这个thread以及this一个。现在QtScript是Qt的一个纯粹的兼容性部分,缺乏QML集