#ifndef HEADER_H #define HEADER_H #include "component/Button.h" #include "global.h" struct Button; class Header : public QWidget { public: QLabel *icon; QLabel *app_title; QLabel *text{}; QHBoxLayout *layout; Button *show_update{}; Switch_Button *max; Button *hide; Button *close; QLabel *cur_title{}; QLabel *detail{}; void set_title(const QString& big_content, const QString& little_content){ cur_title->setText(big_content); detail->setText(little_content); } explicit Header(QWidget* parent) : QWidget(parent) { layout = new QHBoxLayout(this); icon = new QLabel(this); icon->setPixmap(QPixmap(":/filter_3.svg")); app_title = new QLabel(this); QFont app_title_font; app_title_font.setPointSize(20); app_title->setFont(app_title_font); app_title->setText("F信号处理设备"); app_title->setStyleSheet("color: rgb(255, 255, 255);"); layout->addWidget(app_title); cur_title = new QLabel("???"); QFont big_font; big_font.setPointSize(16); cur_title->setFont(big_font); cur_title->setStyleSheet("color: rgb(255, 255, 255);"); detail = new QLabel("??"); detail->setStyleSheet("color: rgb(255, 255, 255);"); layout->addWidget(icon); layout->addWidget(app_title); layout->setSpacing(24); layout->addWidget(cur_title); layout->setSpacing(16); layout->addWidget(detail); layout->addStretch(); layout->setMargin(0); show_update = create_icon(":/help.svg", base, [parent](QEvent::Type t, QMouseEvent* e) { if (t == QEvent::MouseButtonPress) { //parent->showMinimized(); } e->accept(); }); hide = create_icon(":/zui_xiao_hua.svg", base, [parent](QEvent::Type t, QMouseEvent* e) { if (t == QEvent::MouseButtonPress) { parent->showMinimized(); } e->accept(); }); max = create_switch_icon( base, ":/zui_da_hua2.svg", [parent](QEvent::Type t, QMouseEvent* e) { parent->showMaximized(); e->accept(); }, ":/zui_da_hua_back.svg", [parent](QEvent::Type t, QMouseEvent* e) { parent->showNormal(); e->accept(); }); close = create_icon(":/guan_bi.svg", base, [parent](QEvent::Type t, QMouseEvent* e) { if (t == QEvent::MouseButtonPress) { parent->close(); } e->accept(); }); layout->addWidget(show_update); layout->addWidget(hide); layout->addWidget(max); layout->addWidget(close); } protected: void resizeEvent(QResizeEvent* event) override { int a = event->size().height(); show_update->setFixedSize({a, a}); hide->setFixedSize({a, a}); max->setFixedSize({a, a}); close->setFixedSize({a, a}); } void paintEvent(QPaintEvent* event) override { QPainter painter(this); // painter.fillRect(event->rect(), Qt::blue); painter.end(); } }; #endif // HEADER_H