快速解决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的面向对象思想分析
Jan 14 Python
在Python的Django框架中获取单个对象数据的简单方法
Jul 17 Python
Python的Django框架中消息通知的计数器实现教程
Jun 13 Python
Python正则表达式非贪婪、多行匹配功能示例
Aug 08 Python
Python使用pandas处理CSV文件的实例讲解
Jun 22 Python
Python发送邮件测试报告操作实例详解
Dec 08 Python
Python 多线程,threading模块,创建子线程的两种方式示例
Sep 29 Python
使用pickle存储数据dump 和 load实例讲解
Dec 30 Python
python super()函数的基本使用
Sep 10 Python
python3.9.1环境安装的方法(图文)
Feb 02 Python
Python3+SQLAlchemy+Sqlite3实现ORM教程
Feb 16 Python
只需要100行Python代码就可以实现的贪吃蛇小游戏
May 27 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 empty(),isset(),is_null()的实例测试详解
2013/06/06 PHP
微信支付的开发流程详解
2016/09/13 PHP
Ajax+PHP实现的删除数据功能示例
2019/02/12 PHP
PHP中ltrim()函数的用法与实例讲解
2019/03/28 PHP
laravel框架模型和数据库基础操作实例详解
2020/01/25 PHP
PHP网页缓存技术优点及代码实例
2020/07/29 PHP
Array.prototype 的泛型应用分析
2010/04/30 Javascript
jQuery前台数据获取实现代码
2011/03/16 Javascript
关于jquery input textare 事件绑定及用法学习
2013/04/03 Javascript
JS常用表单验证方法总结
2014/05/22 Javascript
用NODE.JS中的流编写工具是要注意的事项
2016/03/01 Javascript
动态设置form表单的action属性的值的简单方法
2016/05/25 Javascript
jQuery+ajax+asp.net获取Json值的方法
2016/06/08 Javascript
完美解决jQuery fancybox ie 无法显示关闭按钮的问题
2016/11/29 Javascript
angularjs+bootstrap实现自定义分页的实例代码
2017/06/19 Javascript
JS中使用gulp实现压缩文件及浏览器热加载功能
2017/07/12 Javascript
浅谈Vue下使用百度地图的简易方法
2018/03/23 Javascript
vue中倒计时组件的实例代码
2018/07/06 Javascript
[02:48]DOTA2英雄基础教程 暗夜魔王
2013/12/12 DOTA
[49:35]KG vs SECRET 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
Python实现基于权重的随机数2种方法
2015/04/28 Python
python+requests+unittest API接口测试实例(详解)
2017/06/10 Python
Python实现统计代码行的方法分析
2017/07/12 Python
Tensorflow实现卷积神经网络用于人脸关键点识别
2018/03/05 Python
Django admin model 汉化显示文字的实现方法
2019/08/12 Python
基于pytorch的lstm参数使用详解
2020/01/14 Python
使用Django xadmin 实现修改时间选择器为不可输入状态
2020/03/30 Python
浅谈tensorflow中dataset.shuffle和dataset.batch dataset.repeat注意点
2020/06/08 Python
Python常用数据分析模块原理解析
2020/07/20 Python
AssertionError 跟一下那个类是 “is – a”的关系
2012/02/21 面试题
顶撞领导检讨书
2014/01/29 职场文书
重阳节登山活动方案
2014/02/03 职场文书
幼儿园儿童节主持词
2014/03/21 职场文书
4s店市场专员岗位职责
2014/04/09 职场文书
2016秋季田径运动会广播稿
2015/12/21 职场文书
Vue ECharts实现机舱座位选择展示功能
2022/05/15 Vue.js