You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
project/Src/command_center/main.py

67 lines
2.5 KiB

import sys
from PyQt5.QtWidgets import (QApplication, QMainWindow, QWidget, QVBoxLayout,
QHBoxLayout, QTabWidget, QPushButton, QLabel,
QGroupBox, QComboBox, QSpinBox, QDoubleSpinBox,
QProgressBar, QCheckBox)
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QFont
from ui.login_view import LoginView
from ui.main_view import MainView
from ui.map_view import MapView
from ui.threat_layer_view import ThreatLayerView
from ui.path_layer_view import PathLayerView
from ui.drone_list_view import DroneListView
from ui.drone_detail_view import DroneDetailView
from ui.status_dashboard import StatusDashboard
from ui.path_planning_view import PathPlanningView
from ui.algorithm_config_view import AlgorithmConfigView
from ui.path_simulation_view import PathSimulationView
class CommandCenterApp(QMainWindow):
def __init__(self):
super().__init__()
self.init_ui()
def init_ui(self):
# 设置窗口标题和大小
self.setWindowTitle("无人机后勤输送系统 - 指挥控制中心")
self.setMinimumSize(1200, 800)
# 创建主窗口部件
central_widget = QWidget()
self.setCentralWidget(central_widget)
# 创建主布局
main_layout = QVBoxLayout(central_widget)
# 创建标签页
self.tab_widget = QTabWidget()
# 添加各个功能标签页
self.tab_widget.addTab(MapView(), "地图视图")
self.tab_widget.addTab(ThreatLayerView(), "威胁层")
self.tab_widget.addTab(PathLayerView(), "路径层")
self.tab_widget.addTab(DroneListView(), "无人机列表")
self.tab_widget.addTab(DroneDetailView(), "无人机详情")
self.tab_widget.addTab(StatusDashboard(), "状态仪表板")
self.tab_widget.addTab(PathPlanningView(), "路径规划")
self.tab_widget.addTab(AlgorithmConfigView(), "算法配置")
self.tab_widget.addTab(PathSimulationView(), "路径模拟")
main_layout.addWidget(self.tab_widget)
# 显示登录窗口
self.show_login()
def show_login(self):
self.login_view = LoginView()
self.login_view.show()
# 连接登录成功信号
# TODO: 实现登录成功后的处理逻辑
if __name__ == '__main__':
app = QApplication(sys.argv)
window = CommandCenterApp()
window.show()
sys.exit(app.exec_())