问题标签 [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.
javascript - 写入 QVariantmap 的 int 不是 Javascript 中的数字
从可以从 javascript 访问的插槽函数中,我返回一个 QVariantMap,因为我希望将数据转换为包含一些原语的 JavaScript 对象。
代码如下所示:
调用脚本如下所示:
并产生以下输出:
在 c++ 方面我需要做typeof(res.num)
什么number
?
使用的版本是 Qt 4.8.2
qt - QWebView 在不可见元素中查找文本
在我的 Qt 项目中,我使用 QWebView 来加载我的 html 表数据。
我正在使用findText函数在 html 页面中查找文本。
但是,我找不到隐形文字...
HTML 示例:
有没有办法通过 Qt 找到不可见的文本元素?
我知道我可以为此评估 JavaScript 函数。
但我还在寻找一些 Qt 解决方案吗?
提前致谢。
qt - 如何在 Qt 5.4 应用程序中包含 QtScript 模块
在 Qt 5.4 之前,我可以通过添加将 QtScript 模块添加到我的构建中
到我的 .pro 文件。但是,当我尝试使用 Qt 5.4 构建项目时,'script' 被 qmake 标记为未知模块。
我可以在我的库文件夹中看到 QtScript 共享对象。
我在任何 Qt 5.4 发行说明中都找不到对此的任何引用。
qt - 从源代码构建 qtcreator
所以我试图qtcreator
从源代码构建,我编译了所有依赖项并继续编译qtcreator
. 我跑的时候遇到了这个奇怪的错误qmake
Project ERROR: Unknown module(s) in QT: script
我做了一点谷歌搜索,发现因为我已经从git
I gotto run构建了 QT make module-qtscript
。Bt 我的问题是在哪里运行它。它不在源代码qtbase
中运行。qt-creator
c++ - 从 QtScript 操作二维数组
我想要一种能够从 QtScript 访问在我的主应用程序中某处创建的整数数组的方法,并在执行脚本可能执行的任何操作后将其再次返回。
到目前为止,我能够工作的是单个值(例如整数或布尔值),我还没有看到我所描述的示例。
有没有办法做到这一点,或者我将不得不一个一个地读取数据?
c++ - QJSEngine 与 QtScript 和 QList
由于Qt
5.5 是实际的,QtScript
因此已弃用。替换是Qt
QML 和QJSEngine
. 现在,我将我的项目重写为新引擎。我有一些课程,例如:
并通过QtScript
以下方式注册:
在新的 QJSEngine 中,我使用 qmlRegisterUncreatableType 注册节点。但是,我找不到注册 QList 的方法。
知道任何人的正确方法吗?
javascript - QJSEngine 评估结果不包含函数
我正在QScriptEngine
将代码迁移到QJSEngine
,并且遇到了在评估脚本后无法调用函数的问题:
这个脚本的输出是:
当我使用时可以调用相同的函数QScriptEngine
:
为什么函数不作为评估结果的属性存在,我该如何调用它?
qt - 使用 QJSEngine 将 QObject 传递给脚本函数?
我试图在将 QObject 作为参数传递时调用外部脚本中的函数。
我的 QObject 被定义为:
我的 JS 脚本函数是这样的:
运行脚本的代码如下:
我可以看到参数“table”正在正确传递,但其余代码不起作用。我想我不能这样做:
知道我在做什么错吗?我还应该怎么做才能让它发挥作用?
谢谢,
c++ - 我可以将 should.js 与 QtScript 一起使用吗?
我正在使用 QtScript 来自动化我的应用程序的某些部分,以用于开发和测试目的。我已经到了要测试断言的地步,并且基于“独立断言库”?以及我在 Debian 存储库中可以找到的内容,我选择了 Should.js。
我无法将它加载到我的 Qt 应用程序中,因为它取决于 Node 的require()
功能。我尝试实现一个版本,从“支持 CommonJS 的 require()”开始,到下面的代码结束。
可以使它起作用,还是我注定要采用这种方法?将 should.js 的部分复制到单个文件中可能会更好吗?我不想让自己负责保持叉子的最新状态。(许可不是问题,因为我不打算重新分发此代码)。
这是我的 MCVE;对不起,我不能让它更短!
应该.cpp
生成文件
输出是
(顺便说一句 - 我如何require
在堆栈跟踪中获取实际的函数名称而不是<native>
?插槽管理这个,所以我应该能够,对吧?)
c++ - 如何从 QtScript 实例化我的 C++ 类?我的班级继承了 QObject
我正在研究 QtScript 的可能性。我知道可以QObject
在 C++ 中创建,然后将其传递给QScriptEngine
:
这有效 - 我能够调用我在 C++ 中定义的方法:
WindowWithText
宣言:
但我想从 qtscript 本身实例化窗口,如下所示:
我知道我可能必须在构造函数和 QtCcript 之间编写一些代理,但是该怎么做呢?
到目前为止,我刚刚创建了创建对象的static
方法newInstance
,但事实并非如此new
:
我将它导出到引擎,如下所示:
这虽然不使用new
,也不是真正的 javascript 伪类:
以下代码将失败:
WindowWithText.prototype
与以下内容无关的事实引起的错误WindowWithText
:
将 C++ 类导出到我的引擎是否有更可靠且不那么繁琐的方法?