MyModHeaven 发表于 2023-3-14 19:21

PyQt5, QThread,报错,求助

本帖最后由 MyModHeaven 于 2023-3-14 20:04 编辑

一楼的老哥说的办法可以,但总是有些“偏方”的味道,不知道还有没有其他的办法

https://static.52pojie.cn/static/image/hrline/1.gif


报错:QThread: Destroyed while thread is still running

我感觉可能是第一个 self.I 的线程还没结束,第二个赋值就来了,然后就销毁了第一个线程

那么,该如何命名各个线程?

```py
.....
      for i in range(6):
            self.I = Img(imgUrl)
            self.I.exceptionSin.connect(self.addImg)
            self.I.imgSin.connect(self.addImg)
            self.I.start()
.....

class Img(QtCore.QThread):
    exceptionSin = QtCore.pyqtSignal(bool)
    imgSin = QtCore.pyqtSignal(bytes)

    def __init__(self, imgUrl):
      super().__init__()
      self.imgUrl = imgUrl
   
    def run(self):
      while True:
            try:
                imgContent = requests.get(self.imgUrl, headers={'user-agent': 'Chrome/110.0.0.0'}).content
                self.imgSin.emit(imgContent)
                break
            except:
                self.exceptionSin.emit(False)
```

hrpzcf 发表于 2023-3-14 19:52

实例化一个列表作为类属性,Img实例全放进去就好了

t88 发表于 2023-3-14 20:27

这个好像也遇到过
页: [1]
查看完整版本: PyQt5, QThread,报错,求助