- 创建一个Q 子类
该类包含要在子线程中运行的代码,以及在子线程运行过程中需要发回主线程的信号。以下为例:
class Analyz (Q ):
def __init__(self,parent=None):
super(Analyz ,self).__init__(parent)
#开始调用网络的信号
stop_analyz_signal=pyqtSignal()
start_print_result=pyqtSignal()
def analyz_work(self):
test_video()
self.start_print_result.emit()
self.stop_analyz_signal.emit()
其中,analyz_work是要子线程中所要运行的代码。
- 实例化Q 子类,并转移到子线程中。
回到主线程,先将Analyz (本例中)实例化,再新创建一个子线程,将实例化的Analyz 转移到子线程中,以下为代码:
self.analyz_thread=QThread()
self.analyze=Analyz ()
self.analyze.moveToThread(self.analyz_thread)
- 开始线程
在希望激活子线程的时候加入代码:
self.analyz_thread.started.connect(self.analyze.analyz_work)
self.analyz_thread.start()
- 结束线程
self.analyze.stop_analyz_signal.connect(self.stop_analyze)
def stop_analyze(self):
self.analyz_thread.quit()
继续阅读与本文标签相同的文章
上一篇 :
乐动体育器材租赁手机APP正式发布
下一篇 :
K8s(kubernetes) 简介
-
还在一张张的保存Word中的图片吗?用这个方法,1分钟可全部保存
2026-05-18栏目: 教程
-
支持绘图、文档、思维导图……这款白板工具让在线协作更方便:Miro
2026-05-18栏目: 教程
-
阿里巴巴飞天大数据架构体系与Hadoop生态系统
2026-05-18栏目: 教程
-
OCP-052考试题库汇总(50)-CUUG内部解答版
2026-05-18栏目: 教程
-
Baseus倍思音频产品采用Bongiovi DPS软件算法 给用户带来沉浸式体验体验
2026-05-18栏目: 教程
