update gui

This commit is contained in:
2026-02-04 03:46:31 +08:00
parent 44d63979b5
commit 8fdbbbc5dc
5 changed files with 491 additions and 31 deletions
+17 -1
View File
@@ -214,6 +214,9 @@ class DroneMap:
rotationOrigin: 'center'
})
.on('click', function () {
if (bridge) {
bridge.emitDroneClicked(id);
}
focusOn(id);
})
.addTo(map);
@@ -223,6 +226,9 @@ class DroneMap:
zIndexOffset: 1000
})
.on('click', function() {
if (bridge) {
bridge.emitDroneClicked(id);
}
focusOn(id);
})
.addTo(map);
@@ -423,9 +429,14 @@ class DroneMap:
"""獲取 GPS 信號"""
return self.bridge.gps_signal
def get_drone_clicked_signal(self):
"""獲取無人機點擊信號"""
return self.bridge.drone_clicked
class MapBridge(QObject):
"""JavaScript 和 Python 之間的橋接類"""
gps_signal = pyqtSignal(float, float) # lat, lon
drone_clicked = pyqtSignal(str) # drone_id
def __init__(self):
super().__init__()
@@ -433,4 +444,9 @@ class MapBridge(QObject):
@pyqtSlot(float, float)
def emitGpsSignal(self, lat, lon):
"""供 JavaScript 調用的方法"""
self.gps_signal.emit(lat, lon)
self.gps_signal.emit(lat, lon)
@pyqtSlot(str)
def emitDroneClicked(self, drone_id):
"""供 JavaScript 調用的方法 - 當無人機被點擊時"""
self.drone_clicked.emit(drone_id)