QThread,一个Qt里面的多线程类,被我踩过N次的坑。
class Thread(QThread):
signal = Signal() #PySide2
def run(self):
self.signal.emit()
...
g = Thread()
g.signal.connect(download_a_very_big_file)
g.start()
上面的代码展示了一个QThread的使用方式,使用他来下载一个特别大的文件。
当你运行之后,你就会发现,你的UI程序炸了/未响应。
翻阅了很多csdn上的文章
真就尼玛卵蛋用没有。该卡的还是卡。
解决方案:
某篇文章写了,QT官方说啥批评将业务逻辑写在QThread内,就有了思路
python的多线程threading.Thread类继续用,接着奏乐接着演,在主UI类里添加一个signal信号槽
class FuckinUI(QWidget):
signal = Signal()
def ...
其他函数不受影响,只要把它放在初始化方法前就行(init)
然后在__init__里面定义:
class FuckingUI(QWidget):
signal