pyqt5实现计算器
时间: 2024-12-21 08:26:32 浏览: 17
PyQt5是一个用于Python的应用程序开发的高级用户界面库,它基于Qt库。要使用PyQt5创建一个简单的计算器应用,你可以按照以下步骤进行:
1. **导入所需模块**:
首先,你需要导入`QtWidgets`模块,这是PyQt5中包含窗口、按钮等UI组件的部分。
```python
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QLineEdit, QVBoxLayout
```
2. **创建主窗口**:
创建一个`QWidget`作为基础,并设置窗口大小和标题。
```python
class Calculator(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle('简单计算器')
self.resize(300, 400)
```
3. **构建界面**:
使用`QVBoxLayout`布局管理器放置计算按钮和输入框。
```python
layout = QVBoxLayout()
self.setLayout(layout)
# 输入框
self.display = QLineEdit(self)
layout.addWidget(self.display)
# 计算按钮及其功能
buttons = ['7', '8', '9', '/', '4', '5', '6', '*', '1', '2', '3', '-', '=', '.']
for i in range(len(buttons)):
button_text = buttons[i]
if button_text.isdigit():
button = QPushButton(button_text, self)
else:
button = QPushButton(button_text, self)
button.clicked.connect(self.handle_click)
layout.addWidget(button)
```
4. **处理按钮点击事件**:
`handle_click`函数将负责执行数学运算并更新显示。
```python
def handle_click(self):
text = self.display.text() + str(self.sender().text())
self.display.setText(text)
# 添加基本的加减乘除支持
if self.sender().text() in ['+', '-', '*', '/']:
try:
result = eval(text)
self.display.setText(str(result))
except ZeroDivisionError:
pass
```
5. **启动应用**:
最后,在`main()`函数中初始化`QApplication`并运行计算器。
```python
if __name__ == '__main__':
app = QApplication([])
calculator = Calculator()
calculator.show()
app.exec_()
```
阅读全文