Files
QT_wuhan_YT/pages/base.h
T
2026-09-09 17:14:31 +08:00

35 lines
941 B
C++

#ifndef BASEPAGE_H
#define BASEPAGE_H
#include <QWidget>
#include <QEvent>
#include "appcontext.h"
class QLabel;
class QPushButton;
// ===================== 页面基类 =====================
// 所有页面继承此基类,持有应用上下文,统一提供页面跳转信号与控件构造助手
class BasePage : public QWidget
{
Q_OBJECT
public:
explicit BasePage(AppContext* ctx, QWidget* parent = nullptr);
AppContext* ctx() const { return m_ctx; }
// 控件构造助手
static QLabel* label(const QString& text, int px, const QString& color = C::TEXT,
bool bold = false, QWidget* parent = nullptr);
static QPushButton* button(const QString& text, const QString& variant = "",
QWidget* parent = nullptr);
signals:
void navigate(PageId id); // 请求切换到指定页面
protected:
AppContext* m_ctx = nullptr;
};
#endif // BASEPAGE_H