182 lines
3.6 KiB
C
182 lines
3.6 KiB
C
|
/**
|
||
|
* @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 <QMainWindow>
|
||
|
#include <QVBoxLayout>
|
||
|
#include <QMenu>
|
||
|
#include <QAction>
|
||
|
#include <QMenuBar>
|
||
|
#include <QString>
|
||
|
#include <QMessageBox>
|
||
|
#include <QPushButton>
|
||
|
#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
|