#ifndef TITLEBAR_H #define TITLEBAR_H /** * 自定义标题栏 * */ #include #include #include #include #include #include #include #include class TitleBar : public QWidget { Q_OBJECT public: explicit TitleBar(QWidget *parent = nullptr); void setTitle(const QString &title); void updateMaximizeButton(); // 根据窗口状态更新按钮文本 signals: void maximizeClicked(); void closeClicked(); protected: void mousePressEvent(QMouseEvent *event) override; void mouseMoveEvent(QMouseEvent *event) override; void mouseDoubleClickEvent(QMouseEvent *event) override; private: void setupUI(); private: QPoint m_dragStartPosition; QWidget *m_parentWindow; QLabel *m_titleLabel; QPushButton *m_maximizeButton; QPushButton *m_closeButton; bool m_isMaximized = false; }; #endif