用PyQt中的QThread类实现多线程
利用PyQt中的pyqtSignal类实现信息的触发和捕获,即定义事件和订阅事件
利用QThread类实现多线程的方法
1,新建一个python类,继承自QThread
from PyQt5.QtCore import QThread
class SubThread(QThread):
2,重写__init__(),__del__()和run()函数
from PyQt5.QtCore import QThread
class SubThread(QThread):
def __init__(self):
super().__init__()
# 以下加入需要的代码
def __del__(self):
self.wait()
def run(self):
# 以下加入子线程执行的代码
3,将继承自QThread类实例化,然后调用实例对象的start()函数,即可开启新线程
【重点说明】
QThread的子类的实例,必须放在app = QtWidgets.QApplication(sys.argv)和sys.exit(app.exec_())代码之间。
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
subthread = SubThread()
subthread.start()
sys.exit(app.exec_())
利用pyqtSignal类实现信息触发和捕获的