Files
QT_wuhan_YT/mainwindow.h
T
2026-09-09 17:00:37 +08:00

41 lines
893 B
C++

#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QVector>
#include "global.h"
class QStackedWidget;
class QLabel;
class AppContext;
class BasePage;
class FaultQueryPage;
// ===================== 主窗口(全屏无边框 + 页面路由) =====================
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget* parent = nullptr);
~MainWindow();
protected:
void keyPressEvent(QKeyEvent* ev) override;
private slots:
void onNavigate(PageId id);
void onEstopChanged(bool triggered);
private:
void buildPages();
BasePage* page(PageId id) const { return m_pages.value(id, nullptr); }
AppContext* m_ctx = nullptr;
QStackedWidget* m_stack = nullptr;
QLabel* m_estopBanner = nullptr;
QVector<BasePage*> m_pages;
FaultQueryPage* m_faultPage = nullptr;
};
#endif // MAINWINDOW_H