问题标签 [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.
user-interface - 完全在 QtScript 中创建 GUI 应用程序,您的意见是什么?
由于宣布了 QT 许可证更改,我开始研究 QT 框架。它看起来不错,但我不喜欢使用 C++。我知道各种语言有不同的绑定,但QtScript对我来说似乎最有趣。
是否可以使用 QtScript 编写完整的 GUI 应用程序(当然,在 UI 设计师的帮助下),或者它仅用于编写现有应用程序的部分脚本。
c++ - Qt:使用 Qt 脚本添加 UI 元素
是否可以使用 QtScript 将新的 GUI 元素添加到 Qt 程序中?例如,假设变量“布局”是垂直布局,这可以接受吗?
javascript - 你能在 QtScript 中实现惰性数组访问吗?
是否可以实现一个 QObject 以在 QtScript 中使用,它重载 [] 以实现惰性数组填充?
我想实现这样的事情:
并在 C++ 代码中延迟计算该值。这可能吗?
qt - 任何像样的 QtScript 教程?
有没有关于插槽或从脚本访问 c++ 值的好的 QtScript 教程?我需要的只是外部文件中的一个函数,它在数组值上使用一些正则表达式,然后将输出发送回主程序。
我知道,它可以使用信号/插槽来完成,但它看起来像开销,我相信有更简单的方法。
qt - QtScript:如何重新加载当前脚本?
QScriptEngine 具有评估()方法,可用于加载脚本,执行它并从已加载的脚本中运行指定的函数。但是如何清除当前脚本并加载一个新脚本呢?例如,我使用 evaluate() 从文件加载脚本,然后使用 evaluate() 获取脚本函数并调用它们。但是我能做些什么来清除当前脚本并从不同的文件加载一个新脚本?删除和创建 QScriptEngine 似乎是一种解决方案,但它喜欢在 GUI 线程中创建(由于 QScriptEngineDebugger),而所有脚本操作都在单独的线程中执行。那么有没有办法在不重新创建 QScriptEngine 对象的情况下清除当前脚本?
windows - QtScript:在 64 位窗口上崩溃
我已经在 windows 下为 64 位架构编译了 Qt,除了 QtScript 之外一切正常。以下简单代码在 32 位Qt for Windows中完美运行,如果使用 64 位 Qt 编译,则会崩溃。也许这是我的代码中的错误?还是Qt不兼容64位?或者是其他东西?欢迎任何意见。
qt - 从 Qt 脚本访问不基于非 QObject 的对象
从 Qt Script 访问非基于 QObject 的类,例如 QXmlQuery、QDateTime 等,有没有什么好的简单的方法?
我看到的唯一方法是将 QXmlQuery 包装在另一个继承 QObject 的类中,并将我需要从 Qt 脚本访问的每个函数声明为插槽:
qt - QtScript:将对象数组传递给 C++
我想将一组对象从我的 QtScript 传递到 C++,但我无法弄清楚如何实现这一点。一旦我创建了一个数组,它里面的元素就会在我可以访问它们之前转换为字符串。
这是我迄今为止一直在尝试的:
以下脚本
印刷
我正在使用 Qt 4.6 ...
qt - 连接到 QtScript(在 Qt 4.5.2 上)中的信号的函数未触发
我已经注入了一个专有的 Qt (4.5.2) 应用程序,添加了我自己的兼容 QtScript 版本,并设法访问了我需要的所有信号。但是,当连接到它们(通过 QtScript)时,我的函数永远不会被调用。
我已经提出了一些理论来解释为什么会这样,并且我已经测试了我能想到的所有东西,但我遇到了一些障碍。请注意,我从来没有任何连接异常。以下是我目前的理论:
- 我正在连接的信号已经连接到其他插槽,这以某种方式阻止了它(但据我所知,所有 Qt 信号都会在没有额外工作的情况下触发到所有插槽,并且不能以这种方式受到限制)
- 信号拒绝我的连接,或在连接后断开我的连接(但我看不到这方面的功能)
- 我的连接是从另一个线程发生的,这在某种程度上导致它无法正确连接
这些理论中的任何一个都是合理的吗?如果没有,我错过了什么?
c++ - STL operator= Visual Studio 2010 的行为改变?
我正在尝试使用 Visual Studio 2010 (C++) 编译 QtScriptGenerator ( gitorious ) 并遇到编译错误。在寻找解决方案时,我偶尔会看到由于 VS2010 的 STL 实现和/或 c++0x 一致性更改而导致的自 VS2008 以来引入的编译损坏的引用。
任何想法下面发生了什么,或者我该如何解决它?如果有问题的代码似乎是 QtScriptGenerator 的,我想我会更容易修复它。但在我看来,有问题的代码可能在 VS2010 的 STL 实现中,我可能需要创建一个解决方法?
PS。我对模板和 STL 非常陌生。我有嵌入式和控制台项目的背景,直到最近才经常避免此类事情,以减少内存消耗和交叉编译器风险。
编辑 - 看起来可能是 Visual Studio 的std::copy实现发生了变化。
这是一些上下文..
pp-内部.h
pp-engine-bits.h
..这是pp_output_iterator的定义