qt-signals相关内容
Qt documentation表示信号返回值不可能: 信号由moc自动生成,不得 在.cpp文件中实现。它们永远不能有返回类型(即 使用空)。 相关SO问题: Can Qt signals return a value? Qt: meaning of slot return value? 然而,从我的试验(Qt 4.8.1)可以看出返回值确实起作用: 如果信号/槽
..
枚举不适合我. 我已经用 Q_ENUMS() 注册了它们我没有忘记 Q_OBJECT 宏 使用 qmlRegisterType() 注册类型模块被导入到 QML 中 简而言之,一切都是“按部就班",但出于某种原因,我继续为 QML 中的每个枚举获取 undefined.我错过了什么吗? 类 UI : public QQuickItem {Q_OBJECTQ_ENUMS(对象类型
..
是否可以通过插槽传递变量,以便我可以打印出某些文本?试图将另一个函数中定义的变量“DiffP"传递给插槽. “DiffP"会根据选择的文件而变化. def addLineEdit(self):尝试:self.clearLayout()self.FileButton ={}自我输入 = {}self.TotalInput = []对于我在范围内(int(self.numberLine.tex
..
我检查了其他类似的问题并尝试了他们的解决方案,但它们对我不起作用. 我基本上是在尝试制作一个仅发出发布请求的 http 客户端.为了做到这一点,我需要将 QNetworkManager 的完成信号连接到某个回调槽. 这是我的代码. h 文件: ...公共插槽:无效finishedSlot(QNetworkReply *回复);私人的:QNetworkAccessManager
..
我正在开发一个将文件内容上传到服务器的应用程序. 要将文件上传到服务器,我使用了“QNetworkAccessManager"类.由于它以异步方式工作,因此我通过使用 QEventLoop 将其更改为以同步方式工作. 类文件传输{民众 :QNetworkAccessManager mNetworkManager;无效上传(QNetworkRequest 请求,QIODevice *data
..
在阅读了一些关于 Qt Signal-Slot 通信的文章像这样后,我仍然有关于排队连接的问题. 如果我有一些线程一直在互相发送信号,并且假设一个 thread_slow 在它的事件循环中运行一个慢速方法而另一个 thread_fast 正在运行一个快速发送多个信号而另一个线程仍在运行它的慢方法.....当来自 thread_slow 的慢方法返回到事件循环时,它会处理之前发送的所有信号通过
..
我在 Qt 程序中遇到了将按钮信号连接到插槽的困难.我的代码是: Main.cpp #include #include "MainWidget.h"int main(int argc, char *argv[]){QApplication app(argc, argv);MainWidget mainWidget;mainWidget.show();返回 app.exec();} Mai
..
Qt 文档声明信号和槽可以direct、queued 和auto. 它还指出,如果拥有插槽的对象“生活"在与拥有信号的对象不同的线程中,则发出此类信号就像发布消息一样 - 信号发射将立即返回,并且将在目标线程的事件循环中调用插槽方法. 不幸的是,文档没有指明“lives"代表什么,也没有可用的示例.我尝试了以下代码: main.h: class CThread1 : publi
..
我在处理 Qt 信号时遇到问题. 我不明白 DirectConnection 和 QueuedConnection 是如何工作的? 如果有人能解释何时使用其中的哪一个(示例代码将不胜感激),我将不胜感激. 解决方案 除非您使用具有不同线程亲缘关系的对象,否则您不会看到太大差异.假设您有 QObjects A 和 B 并且它们都附加到不同的线程.A 有一个名为 something
..
我有一个循环.我创建了一个 QCheckBox 并将它放在一个 QTableWidget 单元格中,一切正常.在循环的每一步中,我都为 myslot SLOT 调用了一个 connect 函数,但只应用了最后一个 QCheckBox 实例.我用谷歌搜索了很多,发现很多人都有我的问题.我已经应用了他们的解决方案,但我的问题仍然存在. for row in xrange(len(uniqueFie
..
有一个 QNetworkReply 类的对象.有一个插槽(在某个其他对象中)连接到它的完成()信号.信号是同步的(默认的).只有一个线程. 有时我想摆脱这两个对象.没有更多的信号或任何来自他们的东西.我要他们走.好吧,我想,我会用 删除obj1;删除obj2; 但我真的可以吗?~QObject 的规格说明: 在挂起事件等待传递时删除 QObject 会导致崩溃. 什么是“未决
..
我多次看到有人遇到插槽未被调用的问题.我想收集一些最常见的原因.所以也许我可以帮助人们并避免很多多余的问题. 信号/插槽连接不起作用的原因是什么?如何避免此类问题? 解决方案 有一些规则可以让信号和插槽的生活变得更轻松,并涵盖了连接缺陷的最常见原因.如果我忘记了什么,请告诉我. 1) 检查调试控制台输出: 发生执行错误时,调试输出可以显示原因. 2) 使用信号和槽的
..
我正在将一个 Linux 应用程序移植到用 Qt 编写的 Windows.应用程序需要在关闭前保存一些设置.在 Linux 上,我们可以通过 SIGTERM 等的信号处理程序来实现.我如何在 Windows 上实现相同的功能. 解决方案 如果您正在使用 Qt 事件循环,您可以捕获以下信号: void QCoreApplication::aboutToQuit() [信号] 当应
..
我想将一些参数从 C++ 传递给 QML,以便 QML 可以用它们做一些事情. 有点像这样: void MyClass::myCplusplusFunction(int i, int j){发出 mySignal(i, j);} 在 QML 中,每次发出 mySignal(i, j) 时,我想调用一个 QML 函数并使用 i 和 j. 连接{目标:myClass//mySignal(i
..
我正在使用包含 10 列的 QtableView(qt5.9),并希望在用户单击这些列的标题时禁用对第 2 和第 3(仅部分)列的排序. 我使用 setsortingenabled 标志使我的 QtableView 允许排序 是否有任何我应该在点击标题时听到的信号,然后调用一些适当的方法或拒绝排序. 解决方案 一种更简单的方法(至少对我而言)是子类化过滤器代理并仅覆盖禁用列的排
..
所有, connect(this, &QLineEdit::inputRejected,这个, &this::my_handler); Gentoo Linux 上的 Qt 5.7.1 错误:“inputRejected"不是“QLineEdit"的成员 文档对该信号没有任何限制. 有什么问题? TIA! 解决方案 inputRejected() 最近在 Qt 5.12
..
我尝试将 QChartView 类中的 RubberBandChanged 信号链接到 MainWindow 类中的特定函数. 主窗口.h class MainWindow : public QMainWindow{Q_OBJECT上市:显式主窗口(QWidget *parent = 0);~主窗口();公共插槽:无效橡胶ZoomAdapt(QRect,QPointF,QPointF);私
..
我根据新的连接语法在Qt5中使用了以下语法,以避免插槽和信号的类型不匹配对于带有可检查项的 QListWidget. connect(item, &QListWidget::itemChanged,this, &mainWindow::checkItemChanged); 我想运行我的插槽,以防任何列表项更改其状态.为此,由于 this answer,我使用了 itemChanged 信号,但
..
我想发送字典,其中包含我需要用来动态创建 qml 对象的数据,从 PySide2 类到 QML 接口,并且由于我需要这样做以响应某些事件,因此我需要使用信号和插槽. 自从我刚开始使用 QML 和 python 以来,我尝试创建一个简单的项目来玩玩(如您从代码中看到的) QML: 导入 QtQuick 2.10导入 QtQuick.Controls 2.2导入 QtQuick.Wind
..
我想用 QMetaObject::invokeMethod 来调用一个对象的方法(稍后它会在另一个线程中运行,然后 invokeMethod 派上用场).我在 Python 3.3 上使用 PySide 1.2.1 的 Qt 4.8 绑定.完整的例子是: from PySide import QtCore类测试器(QtCore.QObject):def __init__(self):super(
..