-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdialog.cpp
More file actions
62 lines (50 loc) · 1.46 KB
/
Copy pathdialog.cpp
File metadata and controls
62 lines (50 loc) · 1.46 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
#include "dialog.h"
#include "ui_dialog.h"
Dialog::Dialog(QWidget *parent)
: QDialog(parent)
, ui(new Ui::Dialog)
{
ui->setupUi(this);
QPushButton *btnstart = new QPushButton("Start", this);
QPushButton *btnstop = new QPushButton("Stop", this);
ui->buttonBox->addButton(btnstart, QDialogButtonBox::ButtonRole::ActionRole);
ui->buttonBox->addButton(btnstop, QDialogButtonBox::ButtonRole::ActionRole);
connect(btnstart, &QPushButton::clicked, this, &Dialog::start);
connect(btnstop, &QPushButton::clicked, this, &Dialog::stop);
m_timer.setInterval(100);
connect(&m_timer, &QTimer::timeout, this, &Dialog::timeout);
}
Dialog::~Dialog()
{
delete ui;
}
void Dialog::on_buttonBox_accepted()
{
accept();
}
void Dialog::timeout()
{
qDebug()<< QTime::currentTime().toString();
m_stopped = QTime::currentTime();
qint64 time = m_started.msecsTo(m_stopped);
qint64 h = time / 1000 / 60 / 60;
qint64 m = (time / 1000 / 60) - (h * 60);
qint64 s = (time / 1000) - (m * 60);
qint64 ms = time - (s + ((m + (h * 60))* 60)) * 1000;
const QString diff = QString("%1:%2:%3:%4")
.arg(h,2,10,QChar('0'))
.arg(m,2,10,QChar('0'))
.arg(s,2,10,QChar('0'))
.arg(ms,4,10,QChar('0'));
ui->label->setText(diff);
}
void Dialog::start()
{
m_timer.start();
m_started = QTime::currentTime();
}
void Dialog::stop()
{
m_timer.stop();
m_stopped = QTime::currentTime();
}