错误发生场景:

使用UI与逻辑分离,继承UI类,使用耗时比较长的操作时,界面会卡死

选择QThread的方法进行处理,继承QThread类,并在继承UI类中

self.get_unjudged_comments_thread = GetUnjudegedCommentsThread()
self.get_unjudged_comments_thread.my_signal.connect(self.get_unjudged_comments_success)
self.get_unjudged_comments_thread.start()

我这里代码的作用是点击pushButton后,连接后端,后端进行数据库查询并且将数据用socket返回给PyQt,这将耗费大量的时间,在等待槽函数处理时,界面会卡死。所以用QThread来处理。

其中GetUnjudegedCommentsThread()为我创建的继承的QThread类,再使用信号传递处理结果,这样看似万事大吉,但是在macOS下(windows没试过)会报QThread: Destroyed while thread is still running错误。

解决办法:在self.get_unjudged_comments_thread.start()后面跟一句self.get_unjudged_comments_thread.exec()保护一下就好了。。。网上解决方法大多行不通,行得通的太麻烦,特此记录

exec()在官方文档中的属性是protected,作用为使线程进入时间循环状态,并且处于wait状态,直到退出。

Hi,我是Barzarrhey~~致力于让技术更纯粹

QThread: Destroyed while thread is still running 解决方法相关推荐

  1. 【PyQt5】:QThread:Destroyed while thread is still running 解决方法

    PyQt5在执行多线程的时候遇到:QThread:Destroyed while thread is still running 错误分析: QThread的子线程还在运行但是线程就被销毁了,导致程序 ...

  2. 我遇到的QThread: Destroyed while thread is stil running解决

    在写操作系统课设的时候,用到了pygtSignal这个信号类,希望实现QT界面中数据的不断刷新.模仿了该链接的代码:pyQt5 实时刷新界面例子 QThread 想要两个信号与槽机制同时工作,但是发现 ...

  3. qthread destroyed while thread is still running

    qthread destroyed while thread is still running 然后报错(windows下):QThread: Destroyed while thread is st ...

  4. QThread: Destroyed while thread is still running

    QThread: Destroyed while thread is still running 原因:python中线程不能是临时变量, 错误代码: for cam in cams:mdcall_t ...

  5. QThread :Destroyed while thread is still running

    程序运行报错:QThread :Destroyed while thread is still running pyqt在ui界面中,查db的大量数据会卡顿 用,必须用QThread解决 今天运行界面 ...

  6. Thread 1: signal SIGABRT解决方法之一

    Thread 1: signal SIGABRT解决方法之一 使用视图控制器实现页面跳转时要给下级页面创建个controller,然后再选中创建的页面点击id查看器,在classname中输入刚刚创建 ...

  7. mysql close 出错_MySQL错误Forcing close of thread的两种解决方法

    最近网站访问量大增,可能有些频道程序也有一些问题,造成了MySQL数据库出现Forcing close of thread 28790 user错误.如果遇到这种情况改怎么解决呢?icech找到两种方 ...

  8. mysql配置报错thread_MySQL错误Forcing close of thread的两种解决方法

    最近网站访问量大增,可能有些频道程序也有一些问题,造成了MySQL数据库出现Forcing close of thread 28790 user错误.如果遇到这种情况改怎么解决呢?icech找到两种方 ...

  9. zookeeper集群启动的时候有一个别没有启动成功,出现Error contacting service. It is probably not running解决方法

    首先查看每个zookeeper下的 data/myid 是否正确,分别对应各自的id 1,2,3一般没有启动成功的情况就是id消失了,需要重新修改myid中对应的 数字

  10. UG安装出现Server Start Failed. The Server May Already Be Running!!解决方法

    服务–找到siemens–手动

最新文章

  1. thinkpad 61系机器(T61 X61/X61S R61)休眠掉电问题解决办法
  2. mysql galera_(十六)MySQL集群galera实现
  3. 【设计干货】Facebook设计APP时的14个必考题
  4. 炸窝(Collections当中的addAll方法)
  5. 数据结构知识点总结_大牛带你学 | 考研数据结构中线性表中顺序结构的知识点总结...
  6. Android P2P语音通话实现(思路探讨)
  7. python培训班靠谱吗-上海比较靠谱的Python培训机构
  8. 计算机三级数据库考试题型,计算机三级数据库技术考试习题及答案
  9. java 分布式系统架构_什么是分布式系统!以及分布式系统架构的优缺点
  10. 很搞笑的一个病毒--还能提问 “死亡问答”(Sola)宅男病毒
  11. Linux基础(三)
  12. 【系统教程】Windows 11开机后任务栏假死、无响应等问题
  13. 基于3D Frangi滤波的血管强化方法(附代码python)
  14. 求最大公因数的两种方法(高效方法)
  15. 计算机组成原理扩展指令CLC实验报告,计算机组成原理实验报告.doc
  16. 白鹭引擎王泽:重度H5游戏性能优化技巧标题的文章
  17. 同洲转型难重生 进军手机市场再度折戟
  18. IE6、IE7、IE8、IE9兼容性问题解决办法
  19. 第二届全国技能大赛(世赛项目)福建省选拔赛 网络安全项目任务书
  20. 《曾国藩传》第一卷京官时代-读后感

热门文章

  1. 最新windows7系统下载
  2. 我最在行 诗词 连续错误的
  3. 在Azure上搭建SQL云数据库
  4. SecureCRT的安装与破解(过程很详细!!!)
  5. 【JavaWeb】用监听器实现单一登录
  6. firewalld系列一:自定义zone与ipset
  7. 指数基金投资指南 笔记
  8. 自媒体、新媒体、融媒体的区别是什么?
  9. nabcd分析解谜类rpg游戏
  10. C# 合并Excel工作表