问题标签 [qtscript]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
110 浏览

javascript - 写入 QVariantmap 的 int 不是 Javascript 中的数字

从可以从 javascript 访问的插槽函数中,我返回一个 QVariantMap,因为我希望将数据转换为包含一些原语的 JavaScript 对象。

代码如下所示:

调用脚本如下所示:

并产生以下输出:

在 c++ 方面我需要做typeof(res.num)什么number

使用的版本是 Qt 4.8.2

0 投票
1 回答
320 浏览

qt - QWebView 在不可见元素中查找文本

在我的 Qt 项目中,我使用 QWebView 来加载我的 html 表数据。

我正在使用findText函数在 html 页面中查找文本。

但是,我找不到隐形文字...

HTML 示例:

有没有办法通过 Qt 找到不可见的文本元素?

我知道我可以为此评估 JavaScript 函数。

但我还在寻找一些 Qt 解决方案吗?

提前致谢。

0 投票
1 回答
1422 浏览

qt - 如何在 Qt 5.4 应用程序中包含 QtScript 模块

在 Qt 5.4 之前,我可以通过添加将 QtScript 模块添加到我的构建中

到我的 .pro 文件。但是,当我尝试使用 Qt 5.4 构建项目时,'script' 被 qmake 标记为未知模块。

我可以在我的库文件夹中看到 QtScript 共享对象。

我在任何 Qt 5.4 发行说明中都找不到对此的任何引用。

0 投票
0 回答
1140 浏览

qt - 从源代码构建 qtcreator

所以我试图qtcreator从源代码构建,我编译了所有依赖项并继续编译qtcreator. 我跑的时候遇到了这个奇怪的错误qmake

Project ERROR: Unknown module(s) in QT: script

我做了一点谷歌搜索,发现因为我已经从gitI gotto run构建了 QT make module-qtscript。Bt 我的问题是在哪里运行它。它不在源代码qtbase中运行。qt-creator

0 投票
1 回答
151 浏览

c++ - 从 QtScript 操作二维数组

我想要一种能够从 QtScript 访问在我的主应用程序中某处创建的整数数组的方法,并在执行脚本可能执行的任何操作后将其再次返回。

到目前为止,我能够工作的是单个值(例如整数或布尔值),我还没有看到我所描述的示例。

有没有办法做到这一点,或者我将不得不一个一个地读取数据?

0 投票
0 回答
977 浏览

c++ - QJSEngine 与 QtScript 和 QList

由于Qt5.5 是实际的,QtScript因此已弃用。替换是QtQML 和QJSEngine. 现在,我将我的项目重写为新引擎。我有一些课程,例如:

并通过QtScript以下方式注册:

在新的 QJSEngine 中,我使用 qmlRegisterUncreatableType 注册节点。但是,我找不到注册 QList 的方法。

知道任何人的正确方法吗?

0 投票
1 回答
2434 浏览

javascript - QJSEngine 评估结果不包含函数

我正在QScriptEngine将代码迁移到QJSEngine,并且遇到了在评估脚本后无法调用函数的问题:

这个脚本的输出是:

当我使用时可以调用相同的函数QScriptEngine

为什么函数不作为评估结果的属性存在,我该如何调用它?

0 投票
1 回答
1480 浏览

qt - 使用 QJSEngine 将 QObject 传递给脚本函数?

我试图在将 QObject 作为参数传递时调用外部脚本中的函数。

我的 QObject 被定义为:

我的 JS 脚本函数是这样的:

运行脚本的代码如下:

我可以看到参数“table”正在正确传递,但其余代码不起作用。我想我不能这样做:

知道我在做什么错吗?我还应该怎么做才能让它发挥作用?

谢谢,

0 投票
1 回答
774 浏览

c++ - 我可以将 should.js 与 QtScript 一起使用吗?

我正在使用 QtScript 来自动化我的应用程序的某些部分,以用于开发和测试目的。我已经到了要测试断言的地步,并且基于“独立断言库”?以及我在 Debian 存储库中可以找到的内容,我选择了 Should.js。

我无法将它加载到我的 Qt 应用程序中,因为它取决于 Node 的require()功能。我尝试实现一个版本,从“支持 CommonJS 的 require()”开始,到下面的代码结束。

可以使它起作用,还是我注定要采用这种方法?将 should.js 的部分复制到单个文件中可能会更好吗?我不想让自己负责保持叉子的最新状态。(许可不是问题,因为我不打算重新分发此代码)。

这是我的 MCVE;对不起,我不能让它更短!

应该.cpp

生成文件

输出是

(顺便说一句 - 我如何require在堆栈跟踪中获取实际的函数名称而不是<native>?插槽管理这个,所以我应该能够,对吧?)

0 投票
0 回答
1231 浏览

c++ - 如何从 QtScript 实例化我的 C++ 类?我的班级继承了 QObject

我正在研究 QtScript 的可能性。我知道可以QObject在 C++ 中创建,然后将其传递给QScriptEngine

这有效 - 我能够调用我在 C++ 中定义的方法:

图片说明

WindowWithText宣言:

但我想从 qtscript 本身实例化窗口,如下所示:

我知道我可能必须在构造函数和 QtCcript 之间编写一些代理,但是该怎么做呢?

到目前为止,我刚刚创建了创建对象的static方法newInstance,但事实并非如此new

我将它导出到引擎,如下所示:

这虽然不使用new,也不是真正的 javascript 伪类:

图片说明

以下代码将失败:

WindowWithText.prototype与以下内容无关的事实引起的错误WindowWithText

将 C++ 类导出到我的引擎是否有更可靠且不那么繁琐的方法?