在使用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相关推荐

  1. Qt程序报错:Socket notifiers cannot be enabled or disabled from another thread

    编写Qt中串口读写的程序,想当然的用了多线程,实际运行起来发现有警告信息: QSocketNotifier: Socket notifiers cannot be enabled or disable ...

  2. Qt:解决跨线程调用socket/IO类,导致报错的问题(socket notifiers cannot be enabled from another thread)

    Qt有很多IO相关的类,比如说QTcpSocket.QFile,总的来说,在Qt的框架内使用,还是非常方便的. 但是用过其他框架IO类的人,可能有一个很不习惯,就是Qt的所有IO类,都不推荐或者不可以 ...

  3. css 伪类 disabled,css3 :enabled与:disabled伪类选择器(示例代码)

    css :enabled和:disabled伪类选择器 在Web表单中,有些表单元素(如输入框.密码框.复选框等)有"可用"和"不可用"这2种状态.默认情况下, ...

  4. jquery表单对象属性选择器:enabled、:disabled、:checked、:selected

    全栈工程师开发手册 (作者:栾鹏) jquery系列教程1-选择器全解 jquery表单对象属性选择器 jquery表单对象属性选择器,包括:enabled.:disabled.:checked.:s ...

  5. Qt笔记-解决QSocketNotifier: Multiple socket notifiers for same socket xxx and type Read问题

    Qt中的socket有个descriptor的概念,这个descriptor就代表socket. 报这个错误是因为,你程序里面2个socket都绑了同一个descriptor.所以出现了问题. 我的遇 ...

  6. html控件无法使用的属性值,用 Enabled 和 disabled 属性禁用 HTML 控件后,取值结果...

    ASP.NET 中,对于服务器端控件,可以用 ASP.NET 代码用 Enabled 属性将其禁用,也可以用 JavaScript 的 disabled 属性将其禁用,那么这两种方法有没有什么区别呢? ...

  7. jQuery中的表单对象属性过滤选择器(四、八)::enabled、:disabled、:checked、:selected...

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head ...

  8. qt udp多线程收发过程_! udp多线程的有关问题

    求助! udp多线程的问题 我做了个udp接收的测试程序,刚开始能收到数据,收了几条数据之后就报个错: QSocketNotifier: Socket notifiers cannot be enab ...

  9. Qt笔记-QTcpSocket跨线程调用(官方推荐方法,非百度烂大街方法)

    TCP服务端的经典案例中有个例子,就是当收到TCP客户端连接后,线程池直接开一个线程然后把这个socket指针传到线程里面,依靠新开的线程进程业务处理. 但在Qt里面使用这个方式后,会报一个QTcpS ...

最新文章

  1. 【学术相关】直博和读完硕士再读博,在能力上的差距有多大?
  2. memcached 安装
  3. ngx_pagespeed加速nginx
  4. hibernate的一种报错
  5. Xss-labs闯关总结
  6. RDS PostgreSQL一键大版本升级技术解密
  7. fcfs调度算法_FCFS:先来先服务调度算法
  8. mixin network_【译文】Mixin——以最高的安全性满足所有区块链资产的交易需求
  9. leetcode1025. 除数博弈(dp/数学)
  10. 重复订单号校验_吊打面试官系列重复消费、顺序消费、分布式事务
  11. 树状数组求区间和 和 单点更新
  12. mysql管理索引_Mysql管理表和索引
  13. 2021-07-19交互设计精髓读后感
  14. qt中实现多语言功能
  15. [电路笔记]三相电路
  16. 2021年口腔正畸行业隐形矫治器专题研究报告
  17. 对话现实版“谢耳朵”:多重宇宙和引力、超弦理论、暗能量
  18. Bzoj2300 / 洛谷P2521 [HAOI2011]防线修建
  19. nginx设置IP、文件目录、请求头白名单
  20. c语言编程p0端口使灯一亮一灭,【单片机学习】第六课:单片机控制第一个外设-LED灯...

热门文章

  1. 深圳神牛python培训_请教神牛_字符串hash
  2. Unity知识点总结(1)
  3. 如何区分2G/3G/4G基站
  4. 蚂蚁金服 CTO 程立新加坡演讲:小蚂蚁是如何“爬”上区块链的?
  5. ARM指令寻址方式及RealView MDK开发环境ARM汇编程序实践
  6. eplan连接定义点不显示_EPLAN操作命令之线色设置
  7. Elasticsearch 和 MongoDB 对比
  8. dot.tk+namecheap.com搭建免费顶级域名+快速动态域名+Dns解析
  9. 鸿蒙负责人王成录被曝已离职:华为技术元老,1998年哈工大博士毕业后加入
  10. 一年读完100本书(1/100)《微习惯》2021-01-18