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
import sys
from PyQt5.QtWidgets import (QApplication, QWidget,
QGridLayout, QVBoxLayout, QHBoxLayout,
QLabel, QLineEdit, QPushButton)
class MainWindow(QWidget):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
#สร้างปุ่มและช่องกรอกข้อมูล
self.firstNumber = QLineEdit()
self.secondNumber = QLineEdit()
self.outputLine = QLineEdit()
self.outputLine.setReadOnly(True)
self.sumButton = QPushButton("บวก")
self.sumButton.clicked.connect(self.sum) #กำหนดการทำงานให้ปุ่มบวก
self.subButton = QPushButton("ลบ")
self.subButton.clicked.connect(self.sub) #กำหนดการทำงานให้ปุ่มลบ
self.mulButton = QPushButton("คูณ")
self.mulButton.clicked.connect(self.mul) #กำหนดการทำงานให้ปุ่มคูณ
self.divButton = QPushButton("หาร")
self.divButton.clicked.connect(self.div) #กำหนดการทำงานให้ปุ่มหาร
self.expButton = QPushButton("ยกกำลัง")
self.expButton.clicked.connect(self.exp) #กำหนดการทำงานให้ปุ่มยกกำลัง
#จัดวางปุ่นต่าง ๆ ลงหน้าจอ
lineLayout = QGridLayout()
lineLayout.addWidget(QLabel("ตัวแรก"), 0, 0)
lineLayout.addWidget(self.firstNumber, 0, 1)
lineLayout.addWidget(QLabel("ตัวที่สอง"), 1, 0)
lineLayout.addWidget(self.secondNumber, 1, 1)
lineLayout.addWidget(QLabel("ผลลัพธ์"), 2, 0)
lineLayout.addWidget(self.outputLine, 2, 1)
buttonLayout = QVBoxLayout()
buttonLayout.addWidget(self.sumButton)
buttonLayout.addWidget(self.subButton)
buttonLayout.addWidget(self.mulButton)
buttonLayout.addWidget(self.divButton)
buttonLayout.addWidget(self.expButton)
mainLayout = QHBoxLayout()
mainLayout.addLayout(lineLayout)
mainLayout.addLayout(buttonLayout)
self.setLayout(mainLayout)
self.setWindowTitle("EZ calculator")
#นิยามการบวกเลขสองตัว
def sum(self):
n = int(self.firstNumber.text()) #รับค่ามาจากช่อง"ตัวแรก"
r = int(self.secondNumber.text()) #รับค่ามาจากช่อง"ตัวที่สอง"
self.outputLine.setText(str(n+r)) #กำหนดค่าให้ช่อง"ผลลัพธ์"
#นิยามการลบเลขสองตัว
def sub(self):
n = 0
r = 0
self.outputLine.setText()
#นิยามการคูณเลขสองตัว
def mul(self):
n = 0
r = 0
self.outputLine.setText()
#นิยามการหารเลขสองตัว
def div(self):
n = 0
r = 0
self.outputLine.setText()
#นิยามการยกกำลังเลขสองตัว
def exp(self):
n = 0
r = 0
self.outputLine.setText()
if __name__ == '__main__':
app = QApplication(sys.argv)
main_window = MainWindow()
main_window.show()
sys.exit(app.exec_())