#ifndef MAINWINDOW_H #define MAINWINDOW_H #include #include #include class DatabaseModule; class SerialModule; class Toolbar; class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(QWidget *parent = nullptr); private: void createUI(); // menubar-菜单栏 void createMenuBar(); // toolbar-工具栏 void createHomeToolbar(); void createSerialToolbar(); void createDatabaseToolbar(); void createSettingsToolbar(); void createHelpToolbar(); // motion-切换页面 void switchToPage(int index); void setupShortcuts(); void connectSignals(); void showAbout(); private: QStackedWidget *m_pageStack; QVector m_toolbars; // 子界面 SerialModule *m_serialModule = nullptr; DatabaseModule *m_databaseModule = nullptr; int m_serialPageIndex = -1; int m_databasePageIndex = -1; }; #endif // MAINWINDOW_H