编写Qt中串口读写的程序,想当然的用了多线程,实际运行起来发现有警告信息:

QSocketNotifier: Socket notifiers cannot be enabled or disabled from another thread

然后经过若干次串口读写之后,程序就报错退出了。

尝试了多种修改方式,还是如此。

后来网上查询,突然发现原来串口读写也可以和界面控件事件一样使用signal和slot的,于是暂时放弃多线程,改用signal和slot, 代码大致如下:

//绑定signal:QSerialPort::readyRead, G::sp1是一个QSerialPort对象
qApp->connect(G::sp1, &QSerialPort::readyRead, qApp, SPHandler::dataReceived);//slot
void SPHandler::dataReceived(){QByteArray data = G::sp1->readAll();QString resp =  QString::fromUtf8(data);qDebug() << "返回:" << resp;//...
}

修改成功,串口读写过程再也没有奇怪的log提示了:

C#/WinForm中也有类似的串口事件绑定。

Qt程序报错:Socket notifiers cannot be enabled or disabled from another thread相关推荐

  1. QSocketNotifier: Socket notifiers cannot be enabled or disabled from another

    在使用Qt开发多线程.socket通讯功能时,遇到以下两个问题: QSocketNotifier: Socket notifiers cannot be enabled or disabled fro ...

  2. qt程序报错error C2248: “ThreadTest::ThreadTest”: 无法访问 private 成员(在“ThreadTest”类中声明)

    问题: 在qt程序中新增一个类,未继承任何类,后来增加继承类的时候,添加继承类和Q_OBJECT宏后编译报错: error C2248: "ThreadTest::ThreadTest&qu ...

  3. Linux下解决发布Qt程序报错:it could not find or load the Qt platform plugin “xcb” in “”

    简述 用Qt5.8版本在ubuntu16.04版本下编写Qt应用程序,生成release版本并打包,到另一台无Qt环境的linux系统中运行. 网上通常是按以下几个步骤进行: 1.生成release程 ...

  4. windows下qt程序报错“the inferior stopped because it triggered an exception”

    问题: 原因: 程序内部有内存越界访问操作.

  5. ubuntu下qt运行报错 /usr/bin/ld: cannot find -lGL

    问题描述 在Ubuntu下运行Qt程序报错: /usr/bin/ld: cannot find -lGL collect2: error: ld returned 1 exit status 解决方案 ...

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

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

  7. Exception from hresult 0x80041FE2,vs2015创建QT项目报错

    vs2015下创建qt项目报错:Exception from hresult 0x80041FE2 安装好vs2015,qt插件等配置好一切,感觉没什么问题的时候,正开心的准备新建一个QT项目测试一下 ...

  8. SAP S4HANA 账户组的配置里'Int.Std.Grping'选项没勾选导致ABAP程序报错

    SAP S4HANA 账户组的配置里'Int.Std.Grping'选项没勾选导致ABAP程序报错 BP,试图创建一个新的vendor code, 角色是ZGM001, Grouping是G001, ...

  9. SAP ABAP 因系统维护使ABAP语法不再被支持导致使用很久的程序报错问题之分析

    SAP ABAP 因系统维护使ABAP语法不再被支持导致使用很久的程序报错问题之分析 所在项目客户的一家工厂上线已经超过半年,其业务部门提出一个使用了半年的RF枪程序,突然不能使用了.程序直接Dump ...

最新文章

  1. 李彦宏:人工智能会让这个世界变得更美好吗?YES AI DO!
  2. Android实现炫酷的星空变幻效果
  3. python自学教程 pdf-《Python编程从入门到精通》PDF高清完整版-PDF下载
  4. logistics回归分析+代码详解
  5. 扫目录过狗过waf方法
  6. Android开发笔记(一百)折叠式列表
  7. js学习(六)- js对象创建
  8. FFmpeg下载编译好的WINDOWS库头文件
  9. PyQt5|PySide2 UI界面内嵌web浏览器的方法
  10. 计算机java毕业设计选题汇总(2022)
  11. 外汇交易提醒 ,美元升势停不下来?
  12. java文章采集爬虫代码示例
  13. 微信小程序仿记事本,带下划线,自动换行,高度自增
  14. 中文和拼音的相关转换
  15. Centos7安装pt-query-digest慢查询工具与实践
  16. isset与empty的区别
  17. 无论创业还是做人,你都需要知道什么是MVPPMF
  18. slmgr.vbs -dlv 和slmgr.vbs -xpr查询win10激活的错误问题
  19. 小米Android 13 应用适配指南公告
  20. 【一学就会】爬取知乎热榜话题下的回答及评论点赞数

热门文章

  1. JAVA实现 PDF转换 常用工具类(html转PDF、PDF添加页码、PDF文件下载、PDF添加印章或者水印)
  2. 十年再出发:阿里云智能战略加速的“四级火箭”...
  3. QTEmbedded VCN实现
  4. 《Tsinghua os mooc》第1~4讲 启动、中断、异常和系统调用
  5. 嵌入式和移动深度学习研究
  6. QQ邮箱服务器协议,QQ邮箱新功能 IMAP协议支持
  7. 不知道如何回复审稿人意见?回复模板来了!
  8. css信号强度显示,纯css实现wifi信号图标及强弱/链接/加密状态
  9. java web分层和层间数据传递 vo bo po
  10. Android窗口Window的创建(悬浮窗)