如何检查QThread是否存活或被杀死,如果在PyQt5中被杀死,则重新启动它?

时间:2020-06-18 10:18:20

标签: python pyqt5

我有一个PyQt5应用程序,它使用QThread逐一更新数据库集合,并在每个集合得到更新以将其反映在GUI上时向主线程发送更新信号。它连续24X7运行。但是以某种方式,数据停止更新,GUI也停止获取信号。但是,该应用程序仍在运行,因为其他部分可以访问并且可以正常运行。在日志文件中也没有发现错误。 大多数情况下,应用程序运行良好,但是在一段时间后会出现此问题(大约一个月后首次出现,然后在2周后第一次出现,现在在23天后出现)。但是,重新启动应用程序可以解决该问题。 我尝试使用isRunning()方法和isFinished()方法,但未找到任何更改。

谁能说出问题所在??先感谢您。 还告诉我们如何检查QThread卡住或被杀死的天气吗?

1 个答案:

答案 0 :(得分:0)

如果线程中发生任何异常,则线程可以很快完成。 因此,您应该使用settimeout函数来调用线程中的任何第三方库(数据更新)。 这样可以解决您的问题。