用pyqt实现输入n个数,求n个数的和
时间: 2023-12-13 09:03:26 浏览: 24
可以按照以下步骤使用 PyQT 实现输入 n 个数并求和:
1. 导入 PyQt 库:
```
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QLabel, QLineEdit, QPushButton
import sys
```
2. 创建一个继承自 QWidget 的自定义窗口类:
```
class MyWindow(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# 在这里添加控件
```
3. 在 initUI 方法中添加控件:
```
def initUI(self):
# 创建一个垂直布局
vbox = QVBoxLayout()
# 创建一个标签
label = QLabel("输入 n 个数并求和")
# 创建一个文本框
self.input_box = QLineEdit()
# 创建一个按钮
btn = QPushButton("求和")
btn.clicked.connect(self.calculate_sum)
# 将控件添加到布局中
vbox.addWidget(label)
vbox.addWidget(self.input_box)
vbox.addWidget(btn)
# 将布局设置为窗口的主布局
self.setLayout(vbox)
```
4. 在 calculate_sum 方法中实现求和功能:
```
def calculate_sum(self):
# 获取文本框中的值并转换为列表
nums = list(map(int, self.input_box.text().split()))
# 计算和
total = sum(nums)
# 显示结果
QMessageBox.information(self, "结果", f"输入的数的和为:{total}")
```
5. 创建应用程序对象,设置窗口标题并显示窗口:
```
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MyWindow()
window.setWindowTitle("求和程序")
window.show()
sys.exit(app.exec_())
```
完整代码如下:
```
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QLabel, QLineEdit, QPushButton, QMessageBox
import sys
class MyWindow(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# 创建一个垂直布局
vbox = QVBoxLayout()
# 创建一个标签
label = QLabel("输入 n 个数并求和")
# 创建一个文本框
self.input_box = QLineEdit()
# 创建一个按钮
btn = QPushButton("求和")
btn.clicked.connect(self.calculate_sum)
# 将控件添加到布局中
vbox.addWidget(label)
vbox.addWidget(self.input_box)
vbox.addWidget(btn)
# 将布局设置为窗口的主布局
self.setLayout(vbox)
def calculate_sum(self):
# 获取文本框中的值并转换为列表
nums = list(map(int, self.input_box.text().split()))
# 计算和
total = sum(nums)
# 显示结果
QMessageBox.information(self, "结果", f"输入的数的和为:{total}")
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MyWindow()
window.setWindowTitle("求和程序")
window.show()
sys.exit(app.exec_())
```