简易计算器,窗口界面自由发挥,编程实现两个整数的加、减、乘、除操作。要求如下: 首先进行操作数文本框检验,检验输入数据是否为纯数字; 通过分别单击加、减、乘、除按钮,对操作数1与操作数2进行相应加、减、乘、除操作,并且将其结果写入操作3文本框。
时间: 2023-07-10 14:19:59 浏览: 39
以下是一个简单的实现,使用了 PyQt5 库来创建窗口界面:
```python
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QLineEdit, QPushButton
class Calculator(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(300, 300, 400, 200)
self.setWindowTitle('Calculator')
self.label1 = QLabel('Operand 1:', self)
self.label1.move(10, 10)
self.textbox1 = QLineEdit(self)
self.textbox1.move(80, 10)
self.textbox1.resize(100, 20)
self.label2 = QLabel('Operand 2:', self)
self.label2.move(10, 40)
self.textbox2 = QLineEdit(self)
self.textbox2.move(80, 40)
self.textbox2.resize(100, 20)
self.label3 = QLabel('Result:', self)
self.label3.move(10, 70)
self.textbox3 = QLineEdit(self)
self.textbox3.move(80, 70)
self.textbox3.resize(100, 20)
self.textbox3.setReadOnly(True)
self.add_button = QPushButton('+', self)
self.add_button.move(230, 10)
self.add_button.clicked.connect(self.add)
self.sub_button = QPushButton('-', self)
self.sub_button.move(230, 40)
self.sub_button.clicked.connect(self.sub)
self.mul_button = QPushButton('*', self)
self.mul_button.move(230, 70)
self.mul_button.clicked.connect(self.mul)
self.div_button = QPushButton('/', self)
self.div_button.move(230, 100)
self.div_button.clicked.connect(self.div)
self.show()
def add(self):
if self.validateInput():
result = int(self.textbox1.text()) + int(self.textbox2.text())
self.textbox3.setText(str(result))
def sub(self):
if self.validateInput():
result = int(self.textbox1.text()) - int(self.textbox2.text())
self.textbox3.setText(str(result))
def mul(self):
if self.validateInput():
result = int(self.textbox1.text()) * int(self.textbox2.text())
self.textbox3.setText(str(result))
def div(self):
if self.validateInput() and self.textbox2.text() != '0':
result = int(self.textbox1.text()) / int(self.textbox2.text())
self.textbox3.setText(str(result))
else:
self.textbox3.setText('Error')
def validateInput(self):
if self.textbox1.text().isdigit() and self.textbox2.text().isdigit():
return True
else:
self.textbox3.setText('Error')
return False
if __name__ == '__main__':
app = QApplication(sys.argv)
calculator = Calculator()
sys.exit(app.exec_())
```
在该窗口界面中,有三个文本框用于输入操作数和显示结果,以及四个按钮用于进行加、减、乘、除操作。在每个按钮的 `clicked` 信号连接到相应的操作函数中,操作函数首先会调用 `validateInput` 函数来检验输入数据是否为纯数字,如果不是则在结果文本框中显示 "Error"。如果输入数据合法,则进行相应操作,并将结果显示在结果文本框中。