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_())