1、问题描述

伪代码如下:

QEventLoop eventLoop;
QObject::connect(this, &Class::signal, [](){doSomething();eventLoop.exit(0);
});
emit signal();
eventLoop.exec();

在执行eventLoop.exec()时,造成永不退出。

2、原因分析

本打算在,槽函数中执行doSomething()后,再继续执行。但是在signal发出后,先执行了槽函数中的exit(0)函数,后面的eventLoop.exec()随后执行,但此时已经没有exit()来终止eventLoop了,造成后面的代码永远也不会执行。

切记:在exec()后再执行exit(),血的教训啊!

【Qt】一个使用QEventLoop时,遇到的教训相关推荐

  1. Qt creator工程项目移植时因环境变换造成qmake错误的解决方案

    1.问题描述:移植从他机上的qt工程项目,打开时提示: Qt Creator找到了一个由其他开发环境创建的设置文件,或许是来自于其他机器的.用户设置文件包含了特定的环境设定,它不应当被复制到其他应用环 ...

  2. 我为期一个月的GitHub的经验教训

    by JS 由JS 我为期一个月的GitHub的经验教训 (Lessons from my month-long GitHub commit streak) "I want to learn ...

  3. MFC 关于new出一个新对话框时,退出对话框内存泄漏的问题解决

    MFC 关于new出一个新对话框时,退出对话框内存泄漏的问题解决 参考文章: (1)MFC 关于new出一个新对话框时,退出对话框内存泄漏的问题解决 (2)https://www.cnblogs.co ...

  4. TCP报文格式和三次握手——三次握手三个tcp包(header+data),此外,TCP 报文段中的数据部分是可选的,在一个连接建立和一个连接终止时,双方交换的报文段仅有 TCP 首部。...

    from:https://blog.csdn.net/mary19920410/article/details/58030147 TCP报文是TCP层传输的数据单元,也叫报文段. 1.端口号:用来标识 ...

  5. QT QTreeWidget 行切换时改变背景色

    文章目录 QT QTreeWidget 行切换时改变背景色 1.关联信号槽. 2.写信号槽函数: QT QTreeWidget 行切换时改变背景色 1.关联信号槽. 当QtreeWidget 的选中状 ...

  6. 配置一个 MVC 项目时 遇到的

    配置一个 MVC 项目时 遇到的 解决办法:在 webconfig 中 <appSettings> <add key="owin:AutomaticAppStartup&q ...

  7. 解决 QT 发送 HTTP 请求时遇到 qt.network.ssl: QSslSocket::connectToHostEncrypted: TLS initialization failed 问题

    解决 QT 发送 HTTP 请求时遇到 qt.network.ssl: QSslSocket::connectToHostEncrypted: TLS initilization failed 问题 ...

  8. nodejs中require的路径是一个文件夹时发生了什么

    node中使用require的时候如果路径是一个文件夹时,或者特殊的情况require('..');require('.'); 这是node实战这本书里说的情况,但是我在node6.9版本中发现不完全 ...

  9. .某学校的学生公寓有14栋楼,用A~N这14个大写字母的其中一个代表楼号,每栋楼的层数为6层,用1~6六个数字表示。每层楼有40个房间,编号为01~40。具体表示一个宿舍房间时,用1个字母加3位数字表

    软件测试--等价类划分法 1.某学校的学生公寓有14栋楼,用A-N这14个大写字母的其中一个代表楼号,每栋楼的层数为6层,用1-6六个数字表示.每层楼有40个房间,编号为01-40.具体表示一个宿舍房 ...

最新文章

  1. Spring AOP AspectJ Pointcut Expressions With Examples--转
  2. 【NOIP2013模拟】小喵喵的新家
  3. java判断点与线与面的关系_VC++开发GIS系统(280)判断点与面的拓扑关系
  4. Unity发布WebGl注意事项
  5. oracle 11g 精简,Oracle 11g 精简客户端
  6. Vue项目中使用Echarts(二)
  7. springboot学习笔记-01-springboot-helloworld的编写以及原理初步了解(自动装配)
  8. html获取随机字母,JavaScript实现4位随机验证码的生成
  9. 不使用总线矩阵的CortexM3最小系统搭建(AHB外设有ITCM,DTCM,DEFAULT_SLAVE和AHB_APB桥,APB外设只有一个UART)附整个工程
  10. 组织架构适配下的敏捷开发
  11. Windows Azure Cloud Service (42) 使用Azure In-Role Cache缓存(1)Co-located Role
  12. 百度文库无需VIP和下载券直接下载
  13. C++宠物商店管理系统
  14. IT运维存在问题及改进
  15. pythonforandroid下载中文_SL4A、PythonForAndroid和Android 7.0 Noug
  16. matlab程序中length()啥意思,length是什么意思
  17. 拼写错误python能正常启动吗_拼写检查
  18. mysql skip 1062_【20180205】MySQL 1032和1062跳过错误总结
  19. 山东计算机技校排名,山东技校排名前十 山东有什么好的技校
  20. 删除 python print()输出的字符里的空格

热门文章

  1. 【camera】自动泊车-基于深度学习的视觉车位检测项目(课程设计--训练代码、测试代码、部署demo)(2)
  2. Linux那些事儿之我是Sysfs(2)linux设备底层模型
  3. 矩阵快速幂+构造方法
  4. python中random模块中包含了随机数相关的功能函数_Python中random模块生成随机数详解...
  5. CentOS 6.3 64bit上测试ATS 5.3.0中的正则刷新插件regex_revalidate
  6. C++标准库中sstream和strstream的区别
  7. 贪心:expedition 最优加油方法
  8. 二叉树 1.0 -- 创建二叉树、遍历二叉树、二叉树常见问题求解
  9. windows下rpc框架thrift的环境配置
  10. 如何判断CPU、内存、磁盘的性能瓶颈?