快速解决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编写一个每天都在系统下新建一个文件夹的脚本
May 04 Python
Python中用于返回绝对值的abs()方法
May 14 Python
python 的列表遍历删除实现代码
Apr 12 Python
使用Turtle画正螺旋线的方法
Sep 22 Python
Python自然语言处理之词干,词形与最大匹配算法代码详解
Nov 16 Python
Python实现感知器模型、两层神经网络
Dec 19 Python
python环境路径配置以及命令行运行脚本
Apr 02 Python
Python学习笔记之Break和Continue用法分析
Aug 14 Python
python+adb+monkey实现Rom稳定性测试详解
Apr 23 Python
Python爬虫实例——爬取美团美食数据
Jul 15 Python
Python基于爬虫实现全网搜索并下载音乐
Feb 14 Python
tensorboard 可视化之localhost:6006不显示的解决方案
May 22 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中error_reporting()函数的用法(修改PHP屏蔽错误)
2011/07/01 PHP
PHP的一个基础知识 表单提交
2011/07/04 PHP
php readfile()修改文件上传大小设置
2017/08/11 PHP
thinkphp中的多表关联查询的实例详解
2017/10/12 PHP
yii2.0框架场景的简单使用示例
2020/01/25 PHP
JQuery里选择超链接的实现代码
2011/05/22 Javascript
jquery 实现checkbox全选,反选,全不选等功能代码(奇数)
2012/10/24 Javascript
Js 冒泡事件阻止实现代码
2013/01/27 Javascript
Chrome下ifame父窗口调用子窗口的问题示例探讨
2014/03/17 Javascript
javascript函数式编程实例分析
2015/04/25 Javascript
BootStrap.css 在手机端滑动时右侧出现空白的原因及解决办法
2016/06/07 Javascript
jQuery实现底部浮动窗口效果
2016/09/07 Javascript
AngularJS实现动态编译添加到dom中的方法
2016/11/04 Javascript
nodejs中向HTTP响应传送进程的输出
2017/03/19 NodeJs
浅谈Vue.js 中的 v-on 事件指令的使用
2018/11/25 Javascript
重置Redux的状态数据的方法实现
2019/11/18 Javascript
Vue解析剪切板图片并实现发送功能
2020/02/04 Javascript
vue 实现把路由单独分离出来
2020/08/13 Javascript
Python ValueError: invalid literal for int() with base 10 实用解决方法
2015/06/21 Python
python中的turtle库函数简单使用教程
2018/07/23 Python
Python入门Anaconda和Pycharm的安装和配置详解
2019/07/16 Python
Python 格式化打印json数据方法(展开状态)
2020/02/27 Python
浅谈python3 构造函数和析构函数
2020/03/12 Python
利用python 下载bilibili视频
2020/11/13 Python
AmazeUI 手机版页面的顶部导航条Header与侧边导航栏offCanvas的示例代码
2020/08/19 HTML / CSS
森海塞尔美国官网:Sennheiser耳机与耳麦
2017/07/19 全球购物
Asics日本官网:鬼冢八喜郎创立的跑鞋运动品牌
2017/10/18 全球购物
Banana Republic欧盟:美国都市简约风格的代表品牌
2018/05/09 全球购物
新闻记者个人求职的自我评价
2013/11/28 职场文书
应届毕业生自我鉴定范文
2013/12/27 职场文书
幼儿园教师奖惩制度
2014/02/01 职场文书
小摄影师教学反思
2014/04/27 职场文书
离婚财产处理协议书
2014/09/30 职场文书
期末个人总结范文
2015/02/13 职场文书
Java Spring Boot 正确读取配置文件中的属性的值
2022/04/20 Java/Android
nginx配置限速限流基于内置模块
2022/05/02 Servers