signals-slots相关内容

如何在单击插槽中使用QApplication::MouseButton()辨别鼠标按键?

我有一个QMainWindow,希望处理来自其中较小小部件(如Tableview)的“已单击”信号。 最初我将信号连接到此QMainWindow的一个插槽,这是最常见的方法。 现在我需要告诉鼠标被点击的是哪个按钮,并对左键和右键做不同的事情,我发现“CLICKED”信号没有鼠标事件信息。 我尝试实现了MousePressEvent函数,但仍然存在一些问题。如果鼠标操作作用于较小的小部件 ..
发布时间:2022-03-30 12:44:30 其他开发

如何在使用QSignalMapper时保持源信号的参数?

我遇到了一个问题,我需要保留映射的源信号的参数。到目前为止,我只找到了不带任何参数的映射信号的示例。 例如,点击()信号: signalMapper = new QSignalMapper(this); signalMapper->setMapping(taxFileButton, QString("taxfile.txt")); connect(taxFileButton, SIGNAL ..
发布时间:2022-03-30 11:02:21 其他开发

调试 Qt 信号和插槽的最佳实践是什么?

调试信号和槽可能很困难,因为调试器在发出信号时不会跳转到信号的槽.调试 Qt 信号和槽的最佳实践有哪些? 特别是 如何确保连接设置成功? 什么时候应该使用信号和槽,什么时候应该避免它们? 根据您的经验,最有效的调试技术是什么? 解决方案 前段时间有一篇博文叫20 种调试 Qt 信号和插槽的方法 它解决了我认为的第 1 和第 3 个问题. 对于#2,我认为使用或不使用 ..
发布时间:2022-01-24 15:26:51 其他开发

如何在 QML 的 ListView 中绑定到来自委托组件的信号

假设我有一个 ListView 的可点击委托组件(或 GridView 或 Repeater).这些委托组件需要在触发时发出一个信号以及自定义数据,该信号可由 ListView 的父级拾取.如何实现这种信号绑定? 例如以下代码是我的尝试,但我不知道如何将委托组件的 trigger 信号绑定到 root 中的 componentTriggered 信号项目? 项目{身份证:根anchors. ..
发布时间:2022-01-19 23:09:33 其他开发

默认情况下,从工作线程发出 Qt::signal 会使主线程上的 UI 更新?

我是 Qt 的新手.我有一个 std::thread 的工作线程.工作线程函数在一个循环中不断地获取一些数据.QML UI 上的 Text 元素经常更新数据的大小.我有一个监听器回调,它只不过是一个 std::function,它是从 thread 的函数 调用的.它根据我更新 QML 上的 Text 元素向我发送回调.我使用 signal slot 机制更新它. 以下是 QML : Tex ..
发布时间:2022-01-19 22:55:25 C/C++开发

如何在 QML 中创建 Q_GADGET 结构的新实例?

我可以使用带有 Q_GADGET 标记的结构从 C++ 到 QML 发出信号. 是否可以将这样的结构从 QML 发送到 C++ 插槽?我的代码在第一步失败:在 QML 中创建一个实例. 此代码在第一行失败... var bs = new BatteryState()bs.percentRemaining = 1.0bs.chargeDate = 新日期()DataProvider.s ..
发布时间:2022-01-19 22:35:29 C/C++开发

如何在托管 C++ (C++/CLI) 中将 Qt 信号映射到事件

我正在用 .NET (C++/CLI) 编写一个包装器,以便能够在 .NET 中使用一些本机 C++ Qt 代码.如何将 Qt 信号映射到托管的 .NET 事件中,以便当我的 Qt 代码触发信号时,我可以将其转发给 .NET 代码. 我的托管类定义了事件,但如果我尝试使用普通的 QObject::connect 方法连接到信号,它需要一个 QObject * 接收器......我想我必须做一 ..
发布时间:2022-01-15 11:45:07 其他开发

从 Singleton 接收 pyqtSignal

python中有单例类: 从 PyQt5.QtCore 导入 QObject, pyqtSignal导入日志单例类(QObject):_instance = 无def __new__(cls, *args, **kwargs):如果不是 isinstance(cls._instance, cls):cls._instance = QObject.__new__(cls, *args, **kwa ..
发布时间:2022-01-12 23:08:20 Python

给定一个 pyqtBoundSignal 如何确定插槽?

给定信号,我如何确定特定信号连接到的插槽? 我熟悉如何连接信号和插槽,这更多是出于调试目的. 我正在使用 pyqt5,python 2.7 解决方案 没有“the"槽这个东西,因为一个信号可以连接多个槽,或者多个其他信号,或者同一个信号/槽多个次.但无论如何,没有内置的 API 可以列出所有当前的连接. 您可以获得一个信号的当前连接的计数,如下所示: count = ..
发布时间:2022-01-12 23:06:32 Python

将旧信号和插槽转换为新样式的正确方法?

我目前正在尝试将旧的 python 程序从 Python 2 转换为 Python 3,并从 PyQt4 更新为 PyQt5.该应用程序使用 PyQt5 不支持的旧式信号和插槽.我已经弄清楚了大部分需要做的事情,但下面有几行我似乎无法工作: self.emit(SIGNAL('currentChanged'), row, col)self.emit(SIGNAL("激活(const QStrin ..
发布时间:2022-01-12 22:44:56 Python

PyQt 正确使用 emit() 和 pyqtSignal()

我正在阅读有关 PyQt5 的一些文档,以提出一个简单的信号槽机制.由于设计考虑,我已经停下来了. 考虑以下代码: 导入系统从 PyQt5.QtCore 导入 (Qt, pyqtSignal)从 PyQt5.QtWidgets 导入(QWidget、QLCDNumber、QSlider、QVBoxLayout, QApplication)类示例(QWidget):def __init__( ..
发布时间:2022-01-12 22:35:45 Python

Pycharm 调试器可在 Ubuntu 上运行,但不能在 Windows 上运行相同的代码

更新:正在跟踪的问题这里p> 编辑:我可能不是唯一遇到此问题的人.我错过了今天也发布的这个,它看起来很相关:PyCharm 调试器不起作用 以下是使用 Pycharm Professional 时在 Windows 7 和 Ubuntu 14.04 上运行良好的最小示例 PyCharm 2016.1构建 #PY-145.260,构建于 2016 年 3 月 22 日JRE:1.8.0_6 ..
发布时间:2022-01-08 10:05:59 Python

如何拦截Qt中给定事件发出的所有信号?

我可以想象根据事件可能会有很多,但同时,我想这可能是最好的调试方式,也是一个有趣的教训. 我为什么需要它?我正在使用一些基于 QWidget 的自定义类,当我取消附加基于同一窗口的 QDockWidget 时,它不会扩展.知道当这个停靠部件被解除连接时发出了什么信号将帮助我选择我需要在我的自定义类中覆盖的方法. 换句话说,我不想检查文档中所有可能的信号,而只想查看在应用程序中执行某些操 ..
发布时间:2022-01-05 21:41:56 其他开发

PyQt Widget connect() 和 disconnect()

根据条件,我想将按钮连接/重新连接到不同的功能. 假设我有一个按钮: myButton = QtGui.QPushButton() 在这个例子中,假设我检查是否有互联网连接. 如果连接==真:myButton.clicked.connect(function_A)elif 连接 == False:myButton.clicked.connect(function_B) 首先,在按钮被 ..
发布时间:2022-01-05 21:36:35 Python

从Qt中的静态类方法发送信号

我正在尝试编写一个静态回调函数,该函数经常从同一类中的另一个静态函数调用.我的回调函数需要 emit 一个信号,但由于某种原因它根本无法这样做.我把它放在调试器下,slot 永远不会被调用.但是,当我将用于 emit 数据的代码放置在非静态函数中时,它可以工作.有什么原因我不能从静态函数发出信号吗?我曾尝试声明该类的一个新实例并调用发射函数,但没有成功. class Foo{信号:发射函数(整数 ..
发布时间:2022-01-03 08:43:20 C/C++开发

Qt Designer,缺少“转到插槽"在上下文菜单中?

我一直在 YouTube 上观看 Qt 教程系列,其中作者展示了如何在按下按钮时调用函数.他在 Qt Creator IDE 中右键单击按钮并选择“转到插槽",他从中选择了触发生成函数的信号.由于我习惯于使用 Netbeans 进行开发,因此我只是尝试使用嵌入式 Qt Designer 来遵循他的示例.不幸的是,当我右键单击我的按钮或任何小部件时,没有“转到插槽..."条目.当然,我可以为我的主窗 ..
发布时间:2021-12-26 15:12:08 C/C++开发

我应该选择哪个 C++ 信号/插槽库?

我想在不使用 QT 的项目中使用信号/插槽库.我有非常基本的要求: 用任意数量的参数连接两个函数. 信号可以连接到多个插槽. 手动断开信号/插槽连接. 不错的性能 - 应用程序是基于框架的(即不是基于事件的),我想在每个框架中使用连接. 我读过 libsigc++ 和 Boost.Signals 的比较.我还读过 Boost.Signals 性能不佳.但是,我知道还有其他库,但我 ..
发布时间:2021-12-24 15:08:06 C/C++开发