qtscript

    5热度

    1回答

    我必须在C++应用程序中运行一系列javascript脚本。他们大多数是重复行动。代码示例here。 我知道Qt自版本5以来包含2个JavaScript引擎:QtScript和QJSEngine。 我的问题是我们应该在哪种情况下使用这个或另一个?哪个表现更好,在哪些情况下?

    0热度

    1回答

    我正在看看QScxml ECMAScript数据模型,因为我从来没有使用Qt的任何脚本功能我有点失落。 我看到Qt有不同的脚本引擎(QtScript,QJSScript,QQMLEngine),它们都与ECMAScript标准兼容。 所以我不是他们指得是何种脚本编写语言真的相信而QScxmlEcmaScriptDataModel 的QScxmlEcmaScriptDataModel类是一个Qt S

    0热度

    1回答

    所以我有这样的代码: QScriptValue result(someFunction()); if(result.isArray()) { { // Print items in array } 我该怎么办呢?我试图将其转换为QList<QScriptValue>但这不起作用。我认为这样做: const int length = (int)result.property("l

    1热度

    1回答

    此前的Qt 5.4,我可以在QtScript模块加入 QT += script 我.pro文件添加到我的构建。但是,当我尝试使用Qt 5.4构建项目时,qmake将'脚本'标记为未知模块。 我可以看到我的库文件夹中的QtScript共享对象。 在任何Qt 5.4发行说明中,我找不到任何对此的引用。

    0热度

    1回答

    我在验证QtScript脚本中的值时遇到了一些问题。验证器功能如下所示: function isValueInvalid(value) { return typeof value=="undefined" || value == null || value == "" || value == "X"; } 字符串"X"在我的设置中也是无效值。该值被添加到一些对象是这样的: some

    0热度

    1回答

    我想这个方法传递: QScriptValue ScriptProcessContext::construct(QScriptContext * ctx, QScriptEngine *) { return this->newInstance(); } 到QScriptEngine::newFunction。我尝试了以下选项: 如文档and also this example co

    1热度

    1回答

    我需要同时运行多个(最多50个或更多)Qt脚本函数。使用脚本函数运行两个或三个线程工作得很好,但只要运行50个线程,就会出现一个错误,并且我的程序崩溃。 ASSERTION FAILED: globalData().dynamicGlobalObject (..\3rdparty\javascriptcore\JavaScriptCore\runtime/JSGlobalObject.h:411

    0热度

    1回答

    在Qt 4.8中,从C++端有可能在QScriptEngine中设置QScriptValue - 本地值? 例如,假设我有: QScriptEngine engine; engine.globalObject().setProperty("glob", 1000); // ???: Set loc to, say, 42. QScriptValue expr1 = engine.evalu

    6热度

    1回答

    在Qt 4.8的脚本引擎中,“本地”变量可以由obtaining a QScriptContext from QScriptEngine::pushContext then setting the properties of its activation object设置。这只能推/弹出呼叫内完成,因为这是唯一的地方QScriptContext可用并且AFAICT不存在QScriptEngine#

    0热度

    1回答

    我试图通过捕获函数条目并退出,通过QScriptEngineAgent实现简单的QtScript性能分析器。我成功订阅了QScriptEngineAgent::functionEntry()回调。现在,是否有可能获得被调用的函数的名称(字符串),在这个回调中? 即使我知道并非所有的脚本函数都需要有一个名字,即使在最简单的情况下它似乎也不起作用。 QScriptContextInfo为此提供了便利,