/** * @file mainwindow.h * @author jinchao * @brief 主窗口类 * @version 1.0 * @date 2025-03-10 * * @copyright Copyright (c) 2025 COMAC * */ #ifndef MAINWINDOW_H #define MAINWINDOW_H #include #include #include #include #include #include #include #include #include "SystemStatusWidget/SystemStatusWidget.h" #include "ModelStatusWidget/ModelStatusWidget.h" #include "DataMonitorWidget/DataMonitorWidget.h" #include "DataCollectionWidget/DataCollectionWidget.h" #include "DebugWidget/DebugWidget.h" QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACE /** * @brief 主窗口类 */ class MainWindow : public QMainWindow { Q_OBJECT public: /** * @brief 构造函数 * @param parent 父窗口 */ MainWindow(QWidget *parent = nullptr); /** * @brief 析构函数 */ ~MainWindow(); private: /** * @brief 初始化菜单栏 */ void InitialMenuBar(); /** * @brief 初始化中央窗口 */ void InitialCentralWidget(); /** * @brief 初始化切换标签页按钮 */ void InitialTabButton(); /** * @brief 初始化系统运行状态内容 */ void InitialSystemStatusWidget(); /** * @brief 初始化模型运行状态内容 */ void InitialModelStatusWidget(); /** * @brief 初始化模型数据监控内容 */ void InitialDataMonitorWidget(); /** * @brief 初始化模型数据采集内容 */ void InitialDataCollectionWidget(); public slots: /** * @brief 显示系统运行状态内容槽函数 */ void showSystemStatusContent(); /** * @brief 显示模型运行状态内容槽函数 */ void showModelStatusContent(); /** * @brief 显示模型数据监控内容槽函数 */ void showDataMonitoringContent(); /** * @brief 显示模型数据采集内容槽函数 */ void showDataCollectionContent(); /** * @brief 切换调试内容显示/隐藏槽函数 */ void toggleDebugWidget(); signals: /** * @brief 设置当前选中的标签页索引信号 * @param index 标签页索引 */ void setCurrentTabIndex(int index); private: /** * @brief 主窗口UI对象 */ Ui::MainWindow *ui; /** * @brief 菜单栏对象 */ QMenuBar *menuBar; /** * @brief 主布局对象 */ QVBoxLayout *mainLayout; /** * @brief 当前选中的标签页索引 */ int currentTabIndex; /** * @brief 切换至系统运行状态按钮对象 */ QPushButton *systemStatusButton; /** * @brief 切换至模型运行状态按钮对象 */ QPushButton *modelStatusButton; /** * @brief 切换至模型数据监控按钮对象 */ QPushButton *dataMonitoringButton; /** * @brief 切换至模型数据采集按钮对象 */ QPushButton *dataCollectionButton; /** * @brief 系统运行状态内容界面 */ SystemStatusWidget *systemStatusWidget; /** * @brief 模型运行状态内容界面 */ ModelStatusWidget *modelStatusWidget; /** * @brief 模型数据监控内容界面 */ DataMonitorWidget *dataMonitorWidget; /** * @brief 模型数据采集内容界面 */ DataCollectionWidget *dataCollectionWidget; /** * @brief 调试内容界面 */ DebugWidget *debugWidget; /** * @brief 视图菜单对象 */ QMenu *viewMenu; /** * @brief 显示调试内容动作对象 */ QAction *showDebugAction; protected: /** * @brief 移动事件处理函数 * @param event 移动事件 */ void moveEvent(QMoveEvent *event) override; }; #endif // MAINWINDOW_H