From 940c2e2008e89c0defbfdab80f7f848b4ab5dcd2 Mon Sep 17 00:00:00 2001 From: zhu-mengmeng <15588200382@163.com> Date: Fri, 13 Jun 2025 09:24:58 +0800 Subject: [PATCH] =?UTF-8?q?=E7=B1=B3=E7=94=B5=E9=98=BB=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E5=AE=8C=E6=AF=95=E6=AD=A3=E5=B8=B8=E5=9B=9E?= =?UTF-8?q?=E5=86=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- utils/serial_manager.py | 15 +++------------ widgets/main_window.py | 4 ++++ 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/utils/serial_manager.py b/utils/serial_manager.py index 6842e28..13744fe 100644 --- a/utils/serial_manager.py +++ b/utils/serial_manager.py @@ -76,6 +76,7 @@ class SerialManager: # 注册触发键回调 self.keyboard_listener.register_callback(trigger_key, self.trigger_resistance_query) logging.info(f"已注册{trigger_key}按键回调用于触发米电阻查询") + # 注意:不在这里启动键盘监听器,而是在点击"开始"按钮时启动 except Exception as e: logging.error(f"初始化键盘监听器失败: {e}") # 创建一个空的键盘监听器对象,以避免后续代码出现NoneType错误 @@ -938,22 +939,12 @@ class SerialManager: else: logging.warning("米电阻串口未配置,跳过自动打开") - # 检查是否启用键盘监听功能 - enable_keyboard_listener = self.config.get_value('app.features.enable_keyboard_listener', False) - if enable_keyboard_listener: - # 启动键盘监听 - try: - self.start_keyboard_listener() - except Exception as e: - logging.error(f"启动键盘监听失败: {e}") - # 键盘监听启动失败不影响串口打开的整体状态 - else: - logging.info("键盘监听功能已在配置中禁用,跳过启动") + # 注意:不在这里启动键盘监听器,而是在MainWindow的handle_start方法中显式调用start_keyboard_listener if not success: logging.warning("部分串口自动打开失败,请检查设备连接或在参数配置中手动打开") - return True # 总是返回True,防止应用程序因串口问题而终止 + return True # 总是返回True,防止应用程序因串口问题而终止 def suspend_file_operations(self, suspend: bool): """暂停或恢复文件操作 diff --git a/widgets/main_window.py b/widgets/main_window.py index 8b3a00f..52fc53a 100644 --- a/widgets/main_window.py +++ b/widgets/main_window.py @@ -545,6 +545,10 @@ class MainWindow(MainWindowUI): # 启动串口监听 self.serial_manager.auto_open_configured_ports() + # 显式启动键盘监听器 + self.serial_manager.start_keyboard_listener() + logging.info("已在开始操作时启动键盘监听器") + success0 = modbus.write_register_until_success(client, 0, int(stow_num)) success1 = modbus.write_register_until_success(client, 1, int(pallet_type)) success2 = modbus.write_register_until_success(client, 2, 1)