-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathltitlebar.cpp
More file actions
52 lines (42 loc) · 1.22 KB
/
ltitlebar.cpp
File metadata and controls
52 lines (42 loc) · 1.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include "ltitlebar.h"
#include "ui_ltitlebar.h"
#include <QPainter>
LTitleBar::LTitleBar(QWidget *parent) :
QWidget(parent),
ui(new Ui::LTitleBar),
_isMaximized(false)
{
ui->setupUi(this);
_MinPix.load(":/images/title_min.png");
ui->pMinBtn->setIcon(_MinPix);
_MaxPix.load(":/images/title_max.png");
_RestorePix.load(":/images/title_restore.png");
ui->pMaxReBtn->setIcon(_MaxPix);
_ClosePix.load(":/images/title_close.png");
ui->pCloseBtn->setIcon(_ClosePix);
connect(ui->pMinBtn, &QToolButton::clicked, this, <itleBar::minRequested);
connect(ui->pMaxReBtn, &QToolButton::clicked, this, [=](){
_isMaximized ? emit restoreRequested() : emit maxRequested();
_isMaximized = !_isMaximized;
});
connect(ui->pCloseBtn, &QToolButton::clicked, this, <itleBar::closeRequested);
}
LTitleBar::~LTitleBar()
{
delete ui;
}
void LTitleBar::setMaxStatus(bool bStatus)
{
_isMaximized = bStatus;
if(_isMaximized) {
ui->pMaxReBtn->setIcon(_MaxPix);
} else {
ui->pMaxReBtn->setIcon(_RestorePix);
}
}
void LTitleBar::paintEvent(QPaintEvent * event)
{
QPainter painter(this);
painter.fillRect(rect(), QBrush(QColor(Qt::white)));
QWidget::paintEvent(event);
}