[pyqt5] 多线程遇到QThread: Destroyed while thread is still running解决方法

当前我的程序是这样的,但是运行程序之后会报QThread: Destroyed while thread is still running的错
原因是在这个窗口MainWinodw类下,download_thread只是一个局部变量,按钮点击运行完这两行代码后就退出这个函数了,它的生命周期也就结束了,但是这个线程里的程序还在运行 所以才会报错,只要将他们改成类下的变量或者全局变量才不会报错。如下所示
self.download_thread = Music_Download_Thread(self.music_download,self.all_header_checkbox)
self.download_thread.start()

本文介绍了如何避免在PyQt5中遇到‘QThread:Destroyedwhilethreadisstillrunning’错误,重点在于理解局部变量和线程生命周期,通过将下载线程改为类变量或全局变量来确保线程在执行完毕前不会被销毁。
2860

被折叠的 条评论
为什么被折叠?



