fix: _log_queue在OCR管理器之前初始化
线程Thread-1启动时_log_queue尚未创建导致AttributeError
This commit is contained in:
@@ -396,6 +396,11 @@ class MsgBotApp(ctk.CTk):
|
|||||||
# 自动回复
|
# 自动回复
|
||||||
self.ar = AutoReply(self.monitor)
|
self.ar = AutoReply(self.monitor)
|
||||||
|
|
||||||
|
# 日志队列(线程安全)— 必须在OCR管理器之前创建
|
||||||
|
self._log_queue: queue.Queue[str] = queue.Queue()
|
||||||
|
# 自动回复执行队列(转发到主线程,避免 daemon 线程 SetForegroundWindow 失败)
|
||||||
|
self._reply_queue: queue.Queue[dict] = queue.Queue()
|
||||||
|
|
||||||
# ⭐ OCR引擎管理器(双引擎:EasyOCR + Windows OCR)
|
# ⭐ OCR引擎管理器(双引擎:EasyOCR + Windows OCR)
|
||||||
self._ocr_manager = OCREngineManager(log_callback=self._log)
|
self._ocr_manager = OCREngineManager(log_callback=self._log)
|
||||||
# 预初始化OCR引擎(后台线程,不阻塞UI)
|
# 预初始化OCR引擎(后台线程,不阻塞UI)
|
||||||
@@ -407,10 +412,6 @@ class MsgBotApp(ctk.CTk):
|
|||||||
self.ar.set_enabled(self.cfg.get("auto_reply_enabled", False))
|
self.ar.set_enabled(self.cfg.get("auto_reply_enabled", False))
|
||||||
self.ar.set_min_score(self.cfg.get("auto_reply_min_score", 0.35))
|
self.ar.set_min_score(self.cfg.get("auto_reply_min_score", 0.35))
|
||||||
|
|
||||||
# 日志队列(线程安全)
|
|
||||||
self._log_queue: queue.Queue[str] = queue.Queue()
|
|
||||||
# 自动回复执行队列(转发到主线程,避免 daemon 线程 SetForegroundWindow 失败)
|
|
||||||
self._reply_queue: queue.Queue[dict] = queue.Queue()
|
|
||||||
self._build_ui()
|
self._build_ui()
|
||||||
|
|
||||||
# 定时从队列取日志刷新
|
# 定时从队列取日志刷新
|
||||||
|
|||||||
Reference in New Issue
Block a user