feat: 在主窗口中新增多个信号连接,包括贴标、称重、NG、故障和急停信号,优化急停UI更新逻辑
This commit is contained in:
parent
5a05bfe9a2
commit
99bb8e27b6
@ -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)}")
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user