后台工作线程
Worker/WorkerSignals:通用 QRunnable 后台线程封装。
概述
quatm/GUI/widgets/browser_workers.py 与 helper_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
供浏览器类面板复用。