From 800617dd3c20330fe1ed3198df3fbc474291ff8c Mon Sep 17 00:00:00 2001 From: ken910606 Date: Wed, 21 May 2025 15:19:54 +0800 Subject: [PATCH] Upload files to 'src/unitdev01/unitdev01' --- src/unitdev01/unitdev01/gui.py | 85 +++++++++++++++++++++++++++------- 1 file changed, 68 insertions(+), 17 deletions(-) diff --git a/src/unitdev01/unitdev01/gui.py b/src/unitdev01/unitdev01/gui.py index fbe30d8..9d8651a 100644 --- a/src/unitdev01/unitdev01/gui.py +++ b/src/unitdev01/unitdev01/gui.py @@ -240,29 +240,63 @@ class ControlStationUI(QMainWindow): @@ -421,12 +455,29 @@ class ControlStationUI(QMainWindow): label.setText(text) if color: label.setStyleSheet(f"color: {color};") - + ''' def add_drone(self, drone_id): if drone_id not in self.drones: panel = self.create_drone_panel(drone_id) self.info_layout.addWidget(panel) self.drones[drone_id] = panel + ''' + def add_drone(self, drone_id): + if drone_id not in self.drones: + panel = self.create_drone_panel(drone_id) + self.info_layout.addWidget(panel) + self.drones[drone_id] = panel + + # 清空原有 layout + for i in reversed(range(self.info_layout.count())): + widget = self.info_layout.itemAt(i).widget() + if widget: + self.info_layout.removeWidget(widget) + widget.setParent(None) + + # 根據 key 排序後重新加入 + for sorted_id in sorted(self.drones, key=lambda x: int(''.join(filter(str.isdigit, x)) or 0)): + self.info_layout.addWidget(self.drones[sorted_id]) def spin_ros(self): try: