qt-signals相关内容

Q_ENUMS 是“未定义的";在 QML 中?

枚举不适合我. 我已经用 Q_ENUMS() 注册了它们我没有忘记 Q_OBJECT 宏 使用 qmlRegisterType() 注册类型模块被导入到 QML 中 简而言之,一切都是“按部就班",但出于某种原因,我继续为 QML 中的每个枚举获取 undefined.我错过了什么吗? 类 UI : public QQuickItem {Q_OBJECTQ_ENUMS(对象类型 ..
发布时间:2022-01-19 23:11:57 C/C++开发

通过 connect 传递额外的参数

是否可以通过插槽传递变量,以便我可以打印出某些文本?试图将另一个函数中定义的变量“DiffP"传递给插槽. “DiffP"会根据选择的文件而变化. def addLineEdit(self):尝试:self.clearLayout()self.FileButton ={}自我输入 = {}self.TotalInput = []对于我在范围内(int(self.numberLine.tex ..
发布时间:2022-01-12 22:17:58 Python

QObject连接函数

我检查了其他类似的问题并尝试了他们的解决方案,但它们对我不起作用. 我基本上是在尝试制作一个仅发出发布请求的 http 客户端.为了做到这一点,我需要将 QNetworkManager 的完成信号连接到某个回调槽. 这是我的代码. h 文件: ...公共插槽:无效finishedSlot(QNetworkReply *回复);私人的:QNetworkAccessManager ..
发布时间:2021-12-09 17:09:30 C/C++开发

等待信号

我正在开发一个将文件内容上传到服务器的应用程序. 要将文件上传到服务器,我使用了“QNetworkAccessManager"类.由于它以异步方式工作,因此我通过使用 QEventLoop 将其更改为以同步方式工作. 类文件传输{民众 :QNetworkAccessManager mNetworkManager;无效上传(QNetworkRequest 请求,QIODevice *data ..
发布时间:2021-12-09 16:54:45 其他开发

在 Qt 中使用排队连接时如何压缩插槽调用?

在阅读了一些关于 Qt Signal-Slot 通信的文章像这样后,我仍然有关于排队连接的问题. 如果我有一些线程一直在互相发送信号,并且假设一个 thread_slow 在它的事件循环中运行一个慢速方法而另一个 thread_fast 正在运行一个快速发送多个信号而另一个线程仍在运行它的慢方法.....当来自 thread_slow 的慢方法返回到事件循环时,它会处理之前发送的所有信号通过 ..
发布时间:2021-12-09 16:39:18 C/C++开发

C++ Qt 信号和插槽不触发

我在 Qt 程序中遇到了将按钮信号连接到插槽的困难.我的代码是: Main.cpp #include #include "MainWidget.h"int main(int argc, char *argv[]){QApplication app(argc, argv);MainWidget mainWidget;mainWidget.show();返回 app.exec();} Mai ..
发布时间:2021-12-09 16:23:42 C/C++开发

如何在Qt中发出跨线程信号?

Qt 文档声明信号和槽可以direct、queued 和auto. 它还指出,如果拥有插槽的对象“生活"在与拥有信号的对象不同的线程中,则发出此类信号就像发布消息一样 - 信号发射将立即返回,并且将在目标线程的事件循环中调用插槽方法. 不幸的是,文档没有指明“lives"代表什么,也没有可用的示例.我尝试了以下代码: main.h: class CThread1 : publi ..
发布时间:2021-12-09 16:22:29 C/C++开发

Qt 信号(QueuedConnection 和 DirectConnection)

我在处理 Qt 信号时遇到问题. 我不明白 DirectConnection 和 QueuedConnection 是如何工作的? 如果有人能解释何时使用其中的哪一个(示例代码将不胜感激),我将不胜感激. 解决方案 除非您使用具有不同线程亲缘关系的对象,否则您不会看到太大差异.假设您有 QObjects A 和 B 并且它们都附加到不同的线程.A 有一个名为 something ..
发布时间:2021-12-09 16:21:33 C/C++开发

循环中的 QtCore.QObject.connect 只影响最后一个实例

我有一个循环.我创建了一个 QCheckBox 并将它放在一个 QTableWidget 单元格中,一切正常.在循环的每一步中,我都为 myslot SLOT 调用了一个 connect 函数,但只应用了最后一个 QCheckBox 实例.我用谷歌搜索了很多,发现很多人都有我的问题.我已经应用了他们的解决方案,但我的问题仍然存在. for row in xrange(len(uniqueFie ..
发布时间:2021-12-09 16:20:05 C/C++开发

关于 Qt 中的信号和槽,delete 和 deleteLater 如何工作?

有一个 QNetworkReply 类的对象.有一个插槽(在某个其他对象中)连接到它的完成()信号.信号是同步的(默认的).只有一个线程. 有时我想摆脱这两个对象.没有更多的信号或任何来自他们的东西.我要他们走.好吧,我想,我会用 删除obj1;删除obj2; 但我真的可以吗?~QObject 的规格说明: 在挂起事件等待传递时删除 QObject 会导致崩溃. 什么是“未决 ..
发布时间:2021-12-09 16:19:05 其他开发

我的信号/插槽连接不起作用

我多次看到有人遇到插槽未被调用的问题.我想收集一些最常见的原因.所以也许我可以帮助人们并避免很多多余的问题. 信号/插槽连接不起作用的原因是什么?如何避免此类问题? 解决方案 有一些规则可以让信号和插槽的生活变得更轻松,并涵盖了连接缺陷的最常见原因.如果我忘记了什么,请告诉我. 1) 检查调试控制台输出: 发生执行错误时,调试输出可以显示原因. 2) 使用信号和槽的 ..
发布时间:2021-12-09 16:14:47 其他开发

如何在 Qt 中检测 Windows 关闭或注销

我正在将一个 Linux 应用程序移植到用 Qt 编写的 Windows.应用程序需要在关闭前保存一些设置.在 Linux 上,我们可以通过 SIGTERM 等的信号处理程序来实现.我如何在 Windows 上实现相同的功能. 解决方案 如果您正在使用 Qt 事件循环,您可以捕获以下信号: void QCoreApplication::aboutToQuit() [信号] 当应 ..
发布时间:2021-09-25 20:08:48 C/C++开发

将参数从 C++ 传递到 QML

我想将一些参数从 C++ 传递给 QML,以便 QML 可以用它们做一些事情. 有点像这样: void MyClass::myCplusplusFunction(int i, int j){发出 mySignal(i, j);} 在 QML 中,每次发出 mySignal(i, j) 时,我想调用一个 QML 函数并使用 i 和 j. 连接{目标:myClass//mySignal(i ..
发布时间:2021-06-30 18:59:22 其他开发

QTableView 禁用某些列的排序

我正在使用包含 10 列的 QtableView(qt5.9),并希望在用户单击这些列的标题时禁用对第 2 和第 3(仅部分)列的排序. 我使用 setsortingenabled 标志使我的 QtableView 允许排序 是否有任何我应该在点击标题时听到的信号,然后调用一些适当的方法或拒绝排序. 解决方案 一种更简单的方法(至少对我而言)是子类化过滤器代理并仅覆盖禁用列的排 ..
发布时间:2021-06-30 18:44:37 其他开发

未找到 inputRejected 信号

所有, connect(this, &QLineEdit::inputRejected,这个, &this::my_handler); Gentoo Linux 上的 Qt 5.7.1 错误:“inputRejected"不是“QLineEdit"的成员 文档对该信号没有任何限制. 有什么问题? TIA! 解决方案 inputRejected() 最近在 Qt 5.12 ..
发布时间:2021-06-30 18:41:27 C/C++开发

Qt如何连接rubberBandChanged信号

我尝试将 QChartView 类中的 RubberBandChanged 信号链接到 MainWindow 类中的特定函数. 主窗口.h class MainWindow : public QMainWindow{Q_OBJECT上市:显式主窗口(QWidget *parent = 0);~主窗口();公共插槽:无效橡胶ZoomAdapt(QRect,QPointF,QPointF);私 ..
发布时间:2021-06-30 18:35:30 C/C++开发

Qt:将受保护的 QListWidget::itemChanged 信号连接到插槽

我根据新的连接语法在Qt5中使用了以下语法,以避免插槽和信号的类型不匹配对于带有可检查项的 QListWidget. connect(item, &QListWidget::itemChanged,this, &mainWindow::checkItemChanged); 我想运行我的插槽,以防任何列表项更改其状态.为此,由于 this answer,我使用了 itemChanged 信号,但 ..
发布时间:2021-06-30 18:33:15 C/C++开发

如何使用 Signal 将 python 字典发送到 QML 接口?

我想发送字典,其中包含我需要用来动态创建 qml 对象的数据,从 PySide2 类到 QML 接口,并且由于我需要这样做以响应某些事件,因此我需要使用信号和插槽. 自从我刚开始使用 QML 和 python 以来,我尝试创建一个简单的项目来玩玩(如您从代码中看到的) QML: 导入 QtQuick 2.10导入 QtQuick.Controls 2.2导入 QtQuick.Wind ..
发布时间:2021-06-24 20:32:35 Python

QMetaObject::invokeMethod 找不到方法

我想用 QMetaObject::invokeMethod 来调用一个对象的方法(稍后它会在另一个线程中运行,然后 invokeMethod 派上用场).我在 Python 3.3 上使用 PySide 1.2.1 的 Qt 4.8 绑定.完整的例子是: from PySide import QtCore类测试器(QtCore.QObject):def __init__(self):super( ..
发布时间:2021-06-24 20:28:43 Python