-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbpm.cpp
More file actions
91 lines (74 loc) · 2.68 KB
/
bpm.cpp
File metadata and controls
91 lines (74 loc) · 2.68 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
#include "bpm.h"
BPM::BPM(ThreadSocket *_socket ,QWidget *parent)
: ElaScrollPage(parent)
{
socket = _socket;
connect(socket,SIGNAL(getSensorSignal()),this,SLOT(changeBPM()));
ui = new QWidget(this);
ui->setWindowTitle("◎心率监测");
ElaScrollPageArea *heartDataArea = new ElaScrollPageArea(this);
heartDataArea->setFixedHeight(400);
QHBoxLayout *heartDataLayout = new QHBoxLayout(heartDataArea);
QLabel *icon_heart = new QLabel(this);
icon_heart->setPixmap((QPixmap)":/icon/picture/i-心率.png");
ElaText *heartDataAreaTitle = new ElaText("BPM:");
heartDataAreaTitle->setTextPointSize(50);
bpmData = new ElaText("75 次/分钟");
bpmData->setTextPointSize(40);
heartDataLayout->addStretch();
heartDataLayout->addSpacing(30);
heartDataLayout->addWidget(icon_heart);
heartDataLayout->addSpacing(30);
heartDataLayout->addWidget(heartDataAreaTitle);
heartDataLayout->addSpacing(30);
heartDataLayout->addWidget(bpmData);
heartDataLayout->addSpacing(30);
heartDataLayout->addStretch();
QVBoxLayout *layout = new QVBoxLayout(this);
layout->addWidget(heartDataArea);
ui->setLayout(layout);
addCentralWidget(ui);
timer = new QTimer(this);
connect(timer,SIGNAL(timeout()),this,SLOT(do_timeout()));
dialagState = false;
}
void BPM::changeBPM()
{
bpmData->setText(globalVal::BPM+"次/分钟");
}
void BPM::setCycle(QString _time)
{
timer->start(_time.toInt());// time是毫秒级的
}
void BPM::do_timeout()//定时到了的响应函数
{
ElaContentDialog* dialag;//用于弹出探窗提醒老人
dialag = new ElaContentDialog(this);
dialag->setMinimumSize(QSize(300,250));
dialag->setLeftButtonText("确定");
dialag->setMiddleButtonText("稍等");
dialag->setRightButtonText("退出");
ElaText *warning = new ElaText("第三方端设置了定时心率监测,请您现在把手放在手环上进行记录心率");
ElaScrollPageArea *dialag_area = new ElaScrollPageArea(this);
QHBoxLayout *dialag_layout = new QHBoxLayout(dialag_area);
dialag_layout->addSpacing(30);
dialag_layout->addWidget(warning);
dialag_layout->addSpacing(30);
connect(dialag,SIGNAL(leftButtonClicked()),this,SLOT(changeDialagState()));
connect(dialag,SIGNAL(RightButtonClicked()),this,SLOT(changeDialagState()));
connect(dialag,SIGNAL(middleButtonClicked()),this,SLOT(changeDialagState()));
dialag->setCentralWidget(dialag_area);
// connect(dialag, SIGNAL(middleButtonClicked), this, SLOT());
if(!dialagState)
{
dialagState = true;
dialag->show();
}
else
{
}
}
void BPM::changeDialagState()
{
dialagState = false;
}