DYTSrouce/src/ui/DockWidget.h
2025-02-13 08:16:04 +08:00

51 lines
1.0 KiB
C++

#pragma once
#include <QDockWidget>
#include <QPushButton>
#include <QLabel>
#include <QTimer>
class DockWidgetTitleBar : public QWidget {
Q_OBJECT
public:
DockWidgetTitleBar(QWidget* parent);
~DockWidgetTitleBar() override;
virtual void SetTitle(const QString& title) {}
//QSize sizeHint() const override {
// return QSize(270, 900);
//}
//QSize minimumSizeHint() const override;
Q_SIGNALS:
void signalClose();
};
class DockWidget : public QDockWidget {
Q_OBJECT
public:
DockWidget(const QString& title, QWidget* parent = nullptr);
DockWidget(QWidget* parent = 0);
~DockWidget() override;
void setWindowTitle(const QString& text);
void SetDockWidgetTitleBar(DockWidgetTitleBar* titleBar);
Q_SIGNALS:
void signalClose();
protected:
void showEvent(QShowEvent* e) override;
void resizeEvent(QResizeEvent* e) override;
void paintEvent(QPaintEvent* e) override;
private:
void OnClose();
private:
DockWidgetTitleBar* titleBar_{ nullptr };
};