-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathfrmaddequ.cpp
More file actions
102 lines (90 loc) · 2.55 KB
/
frmaddequ.cpp
File metadata and controls
102 lines (90 loc) · 2.55 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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#include "frmaddequ.h"
#include "ui_frmaddequ.h"
#include "iconhelper.h"
#include "myhelper.h"
frmAddEqu::frmAddEqu(QWidget *parent) :
QDialog(parent),
ui(new Ui::frmAddEqu)
{
ui->setupUi(this);
InitStyle();
connect(ui->btnAdd,SIGNAL(clicked(bool)),this,SLOT(btnAddEqument()));
connect(ui->btnCancel,SIGNAL(clicked(bool)),this,SLOT(btnCancel()));
}
frmAddEqu::~frmAddEqu()
{
delete ui;
}
void frmAddEqu::InitStyle()
{
//设置窗体标题栏隐藏
this->setWindowFlags(Qt::FramelessWindowHint | Qt::WindowSystemMenuHint | Qt::WindowMinMaxButtonsHint);
location = this->geometry();
max = false;
mousePressed = false;
//安装事件监听器,让标题栏识别鼠标双击
ui->lab_Title->installEventFilter(this);
IconHelper::Instance()->SetIcon(ui->btnMenu_Close, QChar(0xf00d), 10);
//IconHelper::Instance()->SetIcon(ui->btnMenu_Max, QChar(0xf096), 10);
IconHelper::Instance()->SetIcon(ui->btnMenu_Min, QChar(0xf068), 10);
//IconHelper::Instance()->SetIcon(ui->btnMenu, QChar(0xf0c9), 10);
IconHelper::Instance()->SetIcon(ui->lab_Ico, QChar(0xf015), 12);
}
bool frmAddEqu::eventFilter(QObject *obj, QEvent *event)
{
if (event->type() == QEvent::MouseButtonDblClick) {
this->on_btnMenu_Max_clicked();
return true;
}
return QObject::eventFilter(obj, event);
}
void frmAddEqu::mouseMoveEvent(QMouseEvent *e)
{
if (mousePressed && (e->buttons() && Qt::LeftButton) && !max) {
this->move(e->globalPos() - mousePoint);
e->accept();
}
}
void frmAddEqu::mousePressEvent(QMouseEvent *e)
{
if (e->button() == Qt::LeftButton) {
mousePressed = true;
mousePoint = e->globalPos() - this->pos();
e->accept();
}
}
void frmAddEqu::mouseReleaseEvent(QMouseEvent *)
{
mousePressed = false;
}
void frmAddEqu::on_btnMenu_Close_clicked()
{
this->close();
}
void frmAddEqu::on_btnMenu_Max_clicked()
{
if (max) {
this->setGeometry(location);
IconHelper::Instance()->SetIcon(ui->btnMenu_Max, QChar(0xf096), 10);
ui->btnMenu_Max->setToolTip("最大化");
} else {
location = this->geometry();
this->setGeometry(qApp->desktop()->availableGeometry());
IconHelper::Instance()->SetIcon(ui->btnMenu_Max, QChar(0xf079), 10);
ui->btnMenu_Max->setToolTip("还原");
}
max = !max;
}
void frmAddEqu::on_btnMenu_Min_clicked()
{
this->showMinimized();
}
void frmAddEqu::btnAddEqument()
{
emit AddEqument(ui->leIp->text());
this->close();
}
void frmAddEqu::btnCancel()
{
this->close();
}