104 lines
3.2 KiB
C++
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
|