/** * @file mainwindow.h * @author jinchao * @brief 主窗口类 * @version 1.0 * @date 2025-02-14 * * @copyright Copyright (c) 2025 COMAC * */ #ifndef MAINWINDOW_H #define MAINWINDOW_H #include #include 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(); protected: /** * @brief 鼠标按下事件 * @param event 事件 */ void mousePressEvent(QMouseEvent *event) override; /** * @brief 鼠标移动事件 * @param event 事件 */ void mouseMoveEvent(QMouseEvent *event) override; /** * @brief 鼠标释放事件 * @param event 事件 */ void mouseReleaseEvent(QMouseEvent *event) override; private: /** * @brief 启动进程 * @param programName 程序名称 */ void startProcess(const QString &programName); /** * @brief 主窗口ui */ Ui::MainWindow *ui; /** * @brief 当前索引 */ int currentIndex; /** * @brief XNIDLGen信息 */ QString XNIDLGenInfo; /** * @brief XNWrapper信息 */ QString XNWrapperInfo; /** * @brief XNEditor信息 */ QString XNEditorInfo; /** * @brief XNRunner信息 */ QString XNRunnerInfo; /** * @brief XNMonitor信息 */ QString XNMonitorInfo; /** * @brief XNSysMonitor信息 */ QString XNSysMonitorInfo; /** * @brief 是否拖拽 */ bool m_dragging = false; /** * @brief 拖拽位置 */ QPoint m_dragPosition; }; #endif // MAINWINDOW_H