QSocketNotifier: Socket notifiers cannot be enabled or disabled from another
在使用Qt开发多线程、socket通讯功能时,遇到以下两个问题:
QSocketNotifier: Socket notifiers cannot be enabled or disabled from another
QObject: Cannot create children for a parent that is in a different thread.
经过大量试错,发现出现这样的问题的根本原因,是在调用MoveToThread函数执行多线程操作后,在目标对象的槽函数中存在目标对象的私有成员中进行了new操作,并且将this指针传给了构造函数。
总结了两种可以解决问题的方法:
1.new时不传递this指针
object = new QModbusTcpClient();
2.将new操作放在目标对象的构造函数中
Modbus::Modbus(QObject *parent) : QObject(parent)
{object = new QModbusTcpClient(this);
}
3.使用信号与槽的方法调用方法
QSocketNotifier: Socket notifiers cannot be enabled or disabled from another相关推荐
- Qt程序报错:Socket notifiers cannot be enabled or disabled from another thread
编写Qt中串口读写的程序,想当然的用了多线程,实际运行起来发现有警告信息: QSocketNotifier: Socket notifiers cannot be enabled or disable ...
- Qt:解决跨线程调用socket/IO类,导致报错的问题(socket notifiers cannot be enabled from another thread)
Qt有很多IO相关的类,比如说QTcpSocket.QFile,总的来说,在Qt的框架内使用,还是非常方便的. 但是用过其他框架IO类的人,可能有一个很不习惯,就是Qt的所有IO类,都不推荐或者不可以 ...
- css 伪类 disabled,css3 :enabled与:disabled伪类选择器(示例代码)
css :enabled和:disabled伪类选择器 在Web表单中,有些表单元素(如输入框.密码框.复选框等)有"可用"和"不可用"这2种状态.默认情况下, ...
- jquery表单对象属性选择器:enabled、:disabled、:checked、:selected
全栈工程师开发手册 (作者:栾鹏) jquery系列教程1-选择器全解 jquery表单对象属性选择器 jquery表单对象属性选择器,包括:enabled.:disabled.:checked.:s ...
- Qt笔记-解决QSocketNotifier: Multiple socket notifiers for same socket xxx and type Read问题
Qt中的socket有个descriptor的概念,这个descriptor就代表socket. 报这个错误是因为,你程序里面2个socket都绑了同一个descriptor.所以出现了问题. 我的遇 ...
- html控件无法使用的属性值,用 Enabled 和 disabled 属性禁用 HTML 控件后,取值结果...
ASP.NET 中,对于服务器端控件,可以用 ASP.NET 代码用 Enabled 属性将其禁用,也可以用 JavaScript 的 disabled 属性将其禁用,那么这两种方法有没有什么区别呢? ...
- jQuery中的表单对象属性过滤选择器(四、八)::enabled、:disabled、:checked、:selected...
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head ...
- qt udp多线程收发过程_! udp多线程的有关问题
求助! udp多线程的问题 我做了个udp接收的测试程序,刚开始能收到数据,收了几条数据之后就报个错: QSocketNotifier: Socket notifiers cannot be enab ...
- Qt笔记-QTcpSocket跨线程调用(官方推荐方法,非百度烂大街方法)
TCP服务端的经典案例中有个例子,就是当收到TCP客户端连接后,线程池直接开一个线程然后把这个socket指针传到线程里面,依靠新开的线程进程业务处理. 但在Qt里面使用这个方式后,会报一个QTcpS ...
最新文章
- 【学术相关】直博和读完硕士再读博,在能力上的差距有多大?
- memcached 安装
- ngx_pagespeed加速nginx
- hibernate的一种报错
- Xss-labs闯关总结
- RDS PostgreSQL一键大版本升级技术解密
- fcfs调度算法_FCFS:先来先服务调度算法
- mixin network_【译文】Mixin——以最高的安全性满足所有区块链资产的交易需求
- leetcode1025. 除数博弈(dp/数学)
- 重复订单号校验_吊打面试官系列重复消费、顺序消费、分布式事务
- 树状数组求区间和 和 单点更新
- mysql管理索引_Mysql管理表和索引
- 2021-07-19交互设计精髓读后感
- qt中实现多语言功能
- [电路笔记]三相电路
- 2021年口腔正畸行业隐形矫治器专题研究报告
- 对话现实版“谢耳朵”:多重宇宙和引力、超弦理论、暗能量
- Bzoj2300 / 洛谷P2521 [HAOI2011]防线修建
- nginx设置IP、文件目录、请求头白名单
- c语言编程p0端口使灯一亮一灭,【单片机学习】第六课:单片机控制第一个外设-LED灯...
热门文章
- 深圳神牛python培训_请教神牛_字符串hash
- Unity知识点总结(1)
- 如何区分2G/3G/4G基站
- 蚂蚁金服 CTO 程立新加坡演讲:小蚂蚁是如何“爬”上区块链的?
- ARM指令寻址方式及RealView MDK开发环境ARM汇编程序实践
- eplan连接定义点不显示_EPLAN操作命令之线色设置
- Elasticsearch 和 MongoDB 对比
- dot.tk+namecheap.com搭建免费顶级域名+快速动态域名+Dns解析
- 鸿蒙负责人王成录被曝已离职:华为技术元老,1998年哈工大博士毕业后加入
- 一年读完100本书(1/100)《微习惯》2021-01-18