问题标签 [qt-signals]
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.
python - Qt:如何等待多个信号?
我正在使用 PySide 和 Qt 开发各种 GUI 测试库。到目前为止,当测试用例只需要等待一个条件发生(例如信号或超时)时,它工作得非常好,但我的问题是在继续进行数据验证之前必须等待多个条件发生。
测试运行器在自己的线程中工作,以免过多地干扰主线程。等待信号/超时发生在事件循环中,这是可以很好地工作的部分(简化示例):
等待必须是同步的,因此事件循环是可行的方法,但它不适用于多个信号。等待多个条件中的任何一个当然是可能的,但不要等待多个条件/信号全部发生。那么关于如何进行此操作的任何建议?
我正在考虑一个辅助类,它计算接收到的信号数量,然后在达到所需数量后发出一个 ready() 信号。但这真的是最好的方法吗?助手还必须检查每个发送者,以便只考虑特定信号的一个“实例”。
qt - 从 QMainWindow 打开现有的 QMainWindow
我有一个小问题 - 我有 QMainWindow 按钮。单击该按钮时,我希望打开现有的 QMainWindow(详细信息:我想打开一个带有 QWT Plot 的窗口。我的意思是 QWt 的 refreshtest 项目示例。)
所以我想在按钮上打开现有的窗口。到目前为止,我能够打开新的 QMainWindow,但是我该怎么做才能从项目 refreshtest 中看到 MainWindow?
qt - 使用 QNetWorkAccessManager 将值传递给插槽
我正在尝试使用 QsignalMapper 在完成的信号上将我的字符串传递给 img_loaded 函数。但我无法得到任何结果,请帮助。
qt - 使用 QSerialPort 从串行端口读取时出现问题
我必须为基于 FriendlyARM 的嵌入式处理器系统开发 C++ 程序。我在台式计算机上使用 Qt Creator 3.0.0(基于 Qt 5.2.0)。我的程序应该能够从 Mini2440 FriendlyARM 处理器的串口读取。
在进入目标系统(嵌入式系统)之前,我尝试读写笔记本电脑上的串行端口。我的主要问题是如何从串口读取。如您所知,新电脑和笔记本电脑没有串口,所以我尝试使用手工制作的 USB 转串口适配器电缆模拟串口编程。插入 USB 串行电缆后,在 Ubuntu 上识别为“/dev/ttyUSB0”。它似乎运作良好。请注意,电缆的另一端(串行端口)没有连接任何东西。
我的第一个问题是:这样配置电缆是否可以,或者我必须将其连接到其他设备?我尝试每 10 秒写入 /dev/ttyUSB0 并读取数据。我结束了以下代码:
写入串口是可以的。但有时阅读问题“没有这样的文件或目录”!有时“文件暂时不可用!奇怪的是notifAreaPort.error()返回0,表示没有发生错误!
想法?
——赛义德·阿姆罗拉希·博尤基
c++ - Qt Signals & Slots:如何获取已更改的数据?
我有一个 QStandardModel。我将它的itemChanged信号连接到我自己的插槽。
插槽如下所示:
按钮文本将更改为“更改”,因此我的插槽似乎可以工作。但是, item->data().toString() 始终为空。
我该怎么做?
c++ - Qt中Q_PROPERTY的意义是什么?
我无法理解 Q_PROPERTY 的用法。Q_PROPERTY 如何帮助使程序具有防御性?这有什么用途?我看过论坛,但真的无法申请。我已经理解了这个例子,但不是它的用法。
这是示例,我从中获得了什么。我知道 read 将给予只读的特权。
write 属性将赋予只写权限。但它的需要是什么?有人可以举例说明吗?
c++ - Qt 中的槽函数是否在另一个线程上运行?
在下面的函数中,manager 会发出finished(QNetworkReply*)
信号,然后调用 slot 函数getCategories(QNetworkReply*)
。
如果在第一次调用槽函数时发出第二个信号,Qt 是否会启动另一个线程来运行槽函数作为对第二个信号的响应?如果是这样,是否有某种方法可以让插槽函数的第二次调用等到第一次调用完成?
更新:
我的意思是槽函数是否有可能同时运行?
c++ - 菜单操作连接未找到插槽
我正在创建一个 QSystemTrayIcon 托盘菜单。它的上下文菜单有几个我需要识别的操作。
错误是
上面的所有代码都是我的类定义的一部分,它继承自QSystemTrayIcon
. 如何调用 SLOT?
qt5 - 如何使用 QSignalMapper 获取 QAction 项目列表
当我单击子菜单项列表时,我正在开发一个代码片段来执行类似的、不同的操作。请检查附加的快照。QSignalMapper 是将多个信号连接到同一个插槽的最佳解决方案。
但是我无法准确定位哪个信号要为哪个插槽调用。我已经阅读了很多关于 QSignalMapper 的理论,
甚至实现了他们的代码。与提到的示例程序不同,我的 QAction 对象显然不能像我们在数组中定义元素那样定义,因为它们的名称是由设计窗口自动生成的。
我无法理解,我应该在此处放置什么作为 SIGNAL,以及何时应该使用 setMapping 函数?如果我使用 setMapping 函数,我应该实现哪些参数?我只是没有彻底了解这个概念,不知道该做什么,该问谁,并在我的代码中犯了错误。你能告诉我我做错了什么吗?我检查了这个以供参考,因为他有类似的问题:
***********************************更新部分(截至 2014 年 3 月 3 日)**** ****************************************************** ******************
我的问题与以下问题非常相似: 如何将 QActions 列表添加到 QMenu 并使用单个插槽处理它们?
我也尝试使用 setData in helpAction(QAction *pAction)
,但我仍然错了,因为当我单击区域阈值子菜单中的操作项时,我得到的唯一值是
所以我更新的问题是,如何使用setData(const QVariant &userData)
为我的操作项分配索引。请指教。
主窗口.h
主窗口.cpp
c++ - 连接:没有这样的插槽 QTreeView
我继承了一个MainTree
类QTreeview
maintree.cpp 文件
但我收到以下错误
我不明白为什么,我错过了什么?
类的定义MainTree