快速解决pyqt5窗体关闭后子线程不同时退出的问题


Posted in Python onJune 19, 2019

用pyqt5设计了一个主窗体,在窗体运行时需要把一个无限循环放在一个线程去工作。运行后,发现通过鼠标按主窗体的关闭按键关闭主创体后,线程不会自动终止,依然在运行。尽管对我的使用场景来说,这不是问题,因为立马就关机了。但在调试阶段就恨繁,因为后台线程很占资源。怎么能让主窗体关闭是子线程也退出呢?百度了许久,很多方法都不行。

主要试过的有:

1、设置:self.thread.Daemon=True

2、在子线程设置一个变量,通过改变变量的值使循环不满足条件,自动结束

3、设置析构函数

还有别的奇葩。都不行。

今天发现,其实很简单。就是重构主窗体的closeEvent()函数。

def closeEvent(self,event):

   sys.exit(app.exec_())

本来在主程序里是有这条的,估计按X推出主窗体时并没有出发这条代码,所以子线程就不会结束。重构了这个函数,问题解决。

以上这篇快速解决pyqt5窗体关闭后子线程不同时退出的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现解数独程序代码
Apr 12 Python
Python自定义简单图轴简单实例
Jan 08 Python
python3.6 实现AES加密的示例(pyCryptodome)
Jan 10 Python
将字典转换为DataFrame并进行频次统计的方法
Apr 08 Python
python最长回文串算法
Jun 04 Python
django解决跨域请求的问题详解
Jan 20 Python
python opencv摄像头的简单应用
Jun 06 Python
使用turtle绘制五角星、分形树
Oct 06 Python
Django admin 实现search_fields精确查询实例
Mar 30 Python
使用tensorflow框架在Colab上跑通猫狗识别代码
Apr 26 Python
python使用scapy模块实现ping扫描的过程详解
Jan 21 Python
进行数据处理的6个 Python 代码块分享
Apr 06 Python
Pyqt5 实现跳转界面并关闭当前界面的方法
Jun 19 #Python
pyqt5使用按钮进行界面的跳转方法
Jun 19 #Python
Python发展史及网络爬虫
Jun 19 #Python
Python QQBot库的QQ聊天机器人
Jun 19 #Python
python替换字符串中的子串图文步骤
Jun 19 #Python
python实现QQ批量登录功能
Jun 19 #Python
python里 super类的工作原理详解
Jun 19 #Python
You might like
使用PHP获取汉字的拼音(全部与首字母)
2013/06/27 PHP
IE不出现Flash激活框的小发现的js实现方法
2007/09/07 Javascript
用js实现小球的自由移动代码
2013/04/22 Javascript
仿百度输入框智能提示的js代码
2013/08/22 Javascript
jquery 设置style:display的方法
2015/01/29 Javascript
javascript文件加载管理简单实现方法
2015/07/25 Javascript
javascript中substring()、substr()、slice()的区别
2015/08/30 Javascript
JavaScript统计字符串中每个字符出现次数完整实例
2016/01/28 Javascript
使用Jasmine和Karma对AngularJS页面程序进行测试
2016/03/05 Javascript
AngularJS 入门教程之HTML DOM实例详解
2016/07/28 Javascript
利用原生js和jQuery实现单选框的勾选和取消操作的方法
2016/09/04 Javascript
详解jQuery中的DOM操作
2016/12/23 Javascript
JS实现线性表的链式表示方法示例【经典数据结构】
2017/04/11 Javascript
vue axios 表单提交上传图片的实例
2018/03/16 Javascript
vue实现一个炫酷的日历组件
2018/10/08 Javascript
jQuery实现的自定义轮播图功能详解
2018/12/28 jQuery
使用vue-cli3新建一个项目并写好基本配置(推荐)
2019/04/24 Javascript
node.js使用http模块创建服务器和客户端完整示例
2020/02/10 Javascript
vue.js实现简单购物车功能
2020/05/30 Javascript
在js文件中引入(调用)另一个js文件的三种方法
2020/09/11 Javascript
python3生成随机数实例
2014/10/20 Python
python开发环境PyScripter中文乱码问题解决方案
2016/09/11 Python
Python实现对文件进行单词划分并去重排序操作示例
2018/07/10 Python
Python实现蒙特卡洛算法小实验过程详解
2019/07/12 Python
pandas DataFrame行或列的删除方法的实现示例
2019/08/02 Python
python实现Pyecharts实现动态地图(Map、Geo)
2020/03/25 Python
使用python求斐波那契数列中第n个数的值示例代码
2020/07/26 Python
通过代码实例了解Python3编程技巧
2020/10/13 Python
python 对一幅灰度图像进行直方图均衡化
2020/10/27 Python
使用HTML5 IndexDB存储图像和文件的示例
2018/11/05 HTML / CSS
socket.io 和canvas 实现的共享画板功能
2019/05/22 HTML / CSS
2015年幼儿园教研活动总结
2015/03/25 职场文书
小学生光盘行动倡议书
2015/04/28 职场文书
首都博物馆观后感
2015/06/05 职场文书
2016个人廉洁自律承诺书
2016/03/25 职场文书
Linux中如何安装并部署Redis
2022/04/18 Servers