问题标签 [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.
c++ - 循环中的 QtCore.QObject.connect 仅影响最后一个实例
我有一个循环。我创建了一个QCheckBox
并将它放在一个QTableWidget
单元格中,一切都很好。在循环的每个步骤中,我connect
为 myslot SLOT 调用了一个函数,但只QCheckBox
应用了最后一个实例。我google了很多,发现很多人都有我的问题。我已经应用了他们的解决方案,但我的问题仍然存在。
注意:我的connect
函数 return True
。
如何connect
在枚举所有的循环中创建函数instances
?
qt - Qt 信号和槽机制被 main 中的循环阻塞
我有以下情况。
- 在主循环
Socket
中创建了2 个对象(原始问题有 1000 个对象)。在创建时调用该方法。for
start()
start()
创建一个QTcpSocket
尝试连接到某个主机的。Socket
具有connected()
从 QTcpSocket 捕获信号并打印一些调试输出的插槽
发生的事情是按时间顺序首先Socket
创建所有对象,然后启动套接字。这是调试选项的示例输出:
代码:
这不是我所期望的行为,因为文档指出:
当一个信号发出时,连接到它的槽通常会立即执行,就像一个普通的函数调用一样。发生这种情况时,信号和槽机制完全独立于任何 GUI 事件循环。
问题:
当信号发出时,如何确保插槽“立即”执行(不仅在主循环完成之后)?
我目前看到的唯一可用的解决方案(不引入新线程):
在这种情况下放弃使用信号和槽,并在start
方法中实现所有内容。像这样的东西:
c++ - QObject连接函数
我检查了其他类似的问题并尝试了他们的解决方案,但它们对我不起作用。
我基本上是在尝试制作一个只发出 post 请求的 http 客户端。为此,我需要将QNetworkManager
的完成信号连接到某个回调槽。
这是我的代码。
h 文件:
.cpp 文件:
如您所见,该插槽肯定存在,并且在头文件的公共插槽下声明。所以我不知道为什么会这样。我已经尝试过清理、运行 qmake 并重建。
错误信息是:
“QObject::connect: 没有这样的插槽 QObject::finishedSlot(QNetworkReply *)”
任何的想法?
c++ - Qt UI Slot 不被从基类继承的信号调用
我遇到了一个愚蠢的问题,而且我对 Qt 还是很陌生。
我有一个类 ( SoundSampler ),它从基类 ( BaseSampler )继承信号,并且该信号在 UI 构造函数 ( MainWindow ) 中连接到 UI 中的插槽 ( sampleAvailable() )。
问题:
即使连接发生正确(connect()在 UI 类中返回 true,并且isSignalconnected在SoundSampler类中也返回 true),但永远不会调用插槽。..................................................... ...................................
这是我的代码(精简为要点):
基本采样器
声音采样器
..................................................... ...................................
主窗口
..................................................... ...................................
c++ - QTableView clearSelection 因 ASSERT 失败:文件 /usr/include/qt4/QtCore/qlist.h 中的“!isEmpty()”,第 282 行
我有这堂课:
在我的 cunstructor 中:
在我的插槽实现中:
它编译得恰到好处,但是当我运行并进行选择时,它最后会崩溃并显示以下错误消息:
断言:文件 /usr/include/qt4/QtCore/qlist.h 中的“!isEmpty()”,第 282 行
我也尝试了其他技巧:重新实现 showEvent 方法并从该上下文中调用 clearSelection,但没有帮助:(
我的 Qt 版本是 4.8.1。你能帮忙的话,我会很高兴。提前致谢。
c++ - Qt:发出信号时不调用信号处理程序
我正在做这样的事情:
关于何时触发 SIGNAL 的任何建议都不会调用 SLOT。这是显示菜单的位置:
关于为什么不调用 SLOT 的任何建议?
c++ - Qt:使用 QObject::connect 指定多种连接类型
我想知道是否可以指定多种连接类型。例如,我希望我的连接类型是排队连接和唯一连接。是否可以在一个语句中指定?
更新 :
根据海报的建议:
我尝试使用 Qt::QueuedConnection | Qt::UniqueConnection
但我得到了
c++ - QPushButton 用法
在我的应用程序中,我有两个按钮和一个功能,当我单击某个按钮功能需要某个参数并以其值执行时,当我单击另一个按钮时,它的功能需要另一个参数并执行,该怎么做?所有这些事情都是动态完成的。功能和按钮属于不同的类别。
我应该在哪里发出信号?以及如何覆盖它?
c++ - 为什么 Qt 看不到我的插槽?
我正在尝试使用以下代码将上下文菜单添加到树中:
但是,当我运行它时,我收到以下错误:
我究竟做错了什么?