Files
Radio/module/F/header.h
T
2026-06-16 13:38:08 +08:00

104 lines
3.2 KiB
C++

#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