后台工作线程

Worker/WorkerSignals:通用 QRunnable 后台线程封装。

概述

quatm/GUI/widgets/browser_workers.pyhelper_workers.py 提供基于 QRunnable 的通用后台线程封装:把耗时任务放到线程池执行,并经信号把结果/异常/进度传回界面线程。

信号

信号说明
finished任务完成(无数据)
error(tuple)(异常类型, 值, traceback 字符串)
result(object)处理返回的结果,任意类型
progress(int)进度百分比

用法

from quatm.GUI.widgets.browser_workers import Worker

worker = Worker(callback=my_long_task, arg1, kw=...)   # 透传给回调函数
worker.signals.finished.connect(on_done)
worker.signals.error.connect(on_error)
QThreadPool.globalInstance().start(worker)

两处实现大同小异:helper_workers.py 供辅助/分析类后台任务复用,browser_workers.py 供浏览器类面板复用。