From 99bb8e27b62e6f94ebb17b2c69e6f07f12ce9b76 Mon Sep 17 00:00:00 2001 From: zhu-mengmeng <15588200382@163.com> Date: Thu, 17 Jul 2025 17:51:57 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=9C=A8=E4=B8=BB=E7=AA=97=E5=8F=A3?= =?UTF-8?q?=E4=B8=AD=E6=96=B0=E5=A2=9E=E5=A4=9A=E4=B8=AA=E4=BF=A1=E5=8F=B7?= =?UTF-8?q?=E8=BF=9E=E6=8E=A5=EF=BC=8C=E5=8C=85=E6=8B=AC=E8=B4=B4=E6=A0=87?= =?UTF-8?q?=E3=80=81=E7=A7=B0=E9=87=8D=E3=80=81NG=E3=80=81=E6=95=85?= =?UTF-8?q?=E9=9A=9C=E5=92=8C=E6=80=A5=E5=81=9C=E4=BF=A1=E5=8F=B7=EF=BC=8C?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=80=A5=E5=81=9CUI=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- widgets/main_window.py | 48 ++++++++++++++++++++++++++++++++++++------ 1 file changed, 42 insertions(+), 6 deletions(-) diff --git a/widgets/main_window.py b/widgets/main_window.py index e539617..4ede02e 100644 --- a/widgets/main_window.py +++ b/widgets/main_window.py @@ -1671,12 +1671,31 @@ class MainWindow(MainWindowUI): # 连接电力数据变化信号 self.electricity_handler.electricity_data_changed.connect(self.update_electricity_statistics) - - # 立即更新一次用电量数据 - self.update_electricity_statistics() + + # 连接贴标信号 + self.machine_handlers.label_signal_changed.connect(self.handle_label_signal) # 连接称重数据变化信号 self.machine_handlers.weight_changed.connect(self.handle_weight_data) + + # 连接NG信号 + self.machine_handlers.ng_changed.connect(self.handle_ng) + + # 连接故障信号 + self.machine_handlers.error_1_changed.connect(self.handle_error_1) + self.machine_handlers.error_2_changed.connect(self.handle_error_2) + self.machine_handlers.error_3_changed.connect(self.handle_error_3) + + # 连接上下料反馈信号 + self.machine_handlers.loading_feedback_changed.connect(self.handle_loading_feedback) + self.machine_handlers.unloading_feedback_changed.connect(self.handle_unloading_feedback) + + # 连接急停信号 + self.emergency_stop_signal.connect(self._handle_emergency_stop_ui) + + # 立即更新一次用电量数据 + self.update_electricity_statistics() + # 立即更新一次订单数量和产量统计数据 self.update_order_statistics() @@ -1800,7 +1819,7 @@ class MainWindow(MainWindowUI): """ try: # 如果当前重量与定时器启动时的重量相同,说明这段时间内没有新的重量数据 - if self._current_weight == original_weight_kg: + if self._current_weight == original_weight_kg and self._current_weight > 0.5: logging.info(f"重量 {original_weight_kg}kg 在{self._weight_stable_threshold}秒内保持稳定") # 如果这个重量与上一次处理的重量接近(±0.1kg),且标记已处理,则跳过 @@ -3190,17 +3209,34 @@ class MainWindow(MainWindowUI): # 显示警告对话框 QMessageBox.warning(self, "急停警告", "监听到急停信号") + # 恢复按钮样式 - 确保在主线程中执行 + logging.info("急停触发:开始恢复按钮样式") + self.restore_start_button_style() + logging.info("急停触发:已恢复开始按钮样式") + + if hasattr(self, 'restore_output_button_style'): + self.restore_output_button_style() + logging.info("急停触发:已恢复下料按钮样式") + + if hasattr(self, 'restore_input_button_style'): + self.restore_input_button_style() + logging.info("急停触发:已恢复上料按钮样式") + # 更新错误状态标签 self.error_status_label.setText("故障: 急停") self.error_status_label.setToolTip("急停按钮被触发") self.error_status_label.setStyleSheet("color: red; font-weight: bold;") + + logging.info("急停UI已更新:按钮样式已恢复,状态标签已更新") else: # 急停信号解除,恢复错误状态显示 self._update_error_status() # 恢复故障状态标签 - self.label_status_label.setText("故障: 正常") - self.label_status_label.setStyleSheet("") + self.error_status_label.setText("故障: 正常") + self.error_status_label.setStyleSheet("color: green; font-weight: bold;") + + logging.info("急停解除UI已更新:状态标签已恢复") except Exception as e: logging.error(f"处理急停UI更新失败: {str(e)}")