-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMainWindow.cpp
More file actions
122 lines (113 loc) · 3.13 KB
/
Copy pathMainWindow.cpp
File metadata and controls
122 lines (113 loc) · 3.13 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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
//
// Created by seawave on 2021/10/3.
//
// You may need to build the project (run Qt uic code generator) to get "ui_MainWindow.h" resolved
#include "MainWindow.h"
#include "ui_MainWindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent), ui(new Ui::MainWindow) {
ui->setupUi(this);
bindEvent();
render();
}
MainWindow::~MainWindow() {
delete ui;
}
void MainWindow::bindEvent() {
connect(ui->zeroButton, &QPushButton::clicked, [this] {
status.addNumber(0);
render();
});
connect(ui->oneButton, &QPushButton::clicked, [this] {
status.addNumber(1);
render();
});
connect(ui->twoButton, &QPushButton::clicked, [this] {
status.addNumber(2);
render();
});
connect(ui->threeButton, &QPushButton::clicked, [this] {
status.addNumber(3);
render();
});
connect(ui->fourButton, &QPushButton::clicked, [this] {
status.addNumber(4);
render();
});
connect(ui->fiveButton, &QPushButton::clicked, [this] {
status.addNumber(5);
render();
});
connect(ui->sixButton, &QPushButton::clicked, [this] {
status.addNumber(6);
render();
});
connect(ui->sevenButton, &QPushButton::clicked, [this] {
status.addNumber(7);
render();
});
connect(ui->eightButton, &QPushButton::clicked, [this] {
status.addNumber(8);
render();
});
connect(ui->nineButton, &QPushButton::clicked, [this] {
status.addNumber(9);
render();
});
connect(ui->pointButton, &QPushButton::clicked, [this] {
status.addPoint();
render();
});
connect(ui->backspaceButton, &QPushButton::clicked, [this] {
status.backspace();
render();
});
connect(ui->clearErrorButton, &QPushButton::clicked, [this] {
status.clearError();
render();
});
connect(ui->clearButton, &QPushButton::clicked, [this] {
status.clear();
render();
});
connect(ui->signButton, &QPushButton::clicked, [this] {
status.changeSign();
render();
});
connect(ui->addButton, &QPushButton::clicked, [this] {
status.add();
render();
});
connect(ui->subButton, &QPushButton::clicked, [this] {
status.subtract();
render();
});
connect(ui->multiplyButton, &QPushButton::clicked, [this] {
status.multiply();
render();
});
connect(ui->devideButton, &QPushButton::clicked, [this] {
status.divide();
render();
});
connect(ui->equalButton, &QPushButton::clicked, [this] {
status.calculate();
render();
});
connect(ui->sqrtButton, &QPushButton::clicked, [this] {
status.sqrt();
render();
});
connect(ui->percentButton, &QPushButton::clicked, [this] {
status.percent();
render();
});
connect(ui->reciprocalButton, &QPushButton::clicked, [this] {
status.reciprocal();
render();
});
}
void MainWindow::render() {
ui->textEdit->setText(status.getCurrentText());
ui->pointButton->setEnabled(!status.isDecimal());
}