PyQt5写一段代码,界面分为左右两部分,界面一定要美观,生成随机数,点击执行按钮在显示框中显示命令执行结果,将每次查询的结果存放到list中,点击显示历史结果,将所有的结果显示出来
时间: 2024-05-11 14:14:51 浏览: 97
。好的,这是一个关于 PyQt5 的编程问题,我可以提供一些帮助。
以下是一个简单的 PyQt5 程序,可以实现您所需的功能:
```python
import sys
import random
from PyQt5.QtWidgets import QApplication, QWidget, QHBoxLayout, QVBoxLayout, QLabel, QLineEdit, QTextEdit, QPushButton
class RandomNumGenerator(QWidget):
def __init__(self):
super().__init__()
# 设置窗口属性
self.setWindowTitle('Random Number Generator')
self.resize(600, 400)
# 创建控件
self.left_label = QLabel('Settings')
self.right_label = QLabel('Results')
self.left_top_label = QLabel('Generate a random number:')
self.left_top_edit = QLineEdit()
self.left_bottom_label = QLabel('History')
self.left_bottom_edit = QTextEdit()
self.generate_button = QPushButton('Generate')
self.show_button = QPushButton('Show History')
# 添加控件到窗口
self.layout = QHBoxLayout(self)
self.left_layout = QVBoxLayout()
self.right_layout = QVBoxLayout()
self.left_top_layout = QHBoxLayout()
self.left_bottom_layout = QHBoxLayout()
self.left_top_layout.addWidget(self.left_top_label)
self.left_top_layout.addWidget(self.left_top_edit)
self.left_bottom_layout.addWidget(self.left_bottom_label)
self.left_bottom_layout.addWidget(self.left_bottom_edit)
self.left_layout.addWidget(self.left_label)
self.left_layout.addLayout(self.left_top_layout)
self.left_layout.addWidget(self.generate_button)
self.left_layout.addLayout(self.left_bottom_layout)
self.right_layout.addWidget(self.right_label)
self.right_layout.addWidget(self.show_button)
self.layout.addLayout(self.left_layout)
self.layout.addLayout(self.right_layout)
# 添加事件处理
self.generate_button.clicked.connect(self.generate)
self.show_button.clicked.connect(self.show_history)
# 初始化历史记录列表
self.history = []
def generate(self):
"""生成随机数"""
num = random.randint(1, 100)
self.left_top_edit.setText(str(num))
self.history.append(num)
def show_history(self):
"""显示历史记录"""
text = ''
for num in self.history:
text += str(num) + '\n'
self.left_bottom_edit.setText(text)
# 运行程序
if __name__ == '__main__':
app = QApplication(sys.argv)
window = RandomNumGenerator()
window.show()
sys.exit(app.exec_())
```
这个程序可以实现一个带有左右两个分区的窗口,左边分区包含一个文本框和一个按钮,右分区包含一个文本框和一个按钮。
在左上角的文本框中输入一个数字,然后单击“生成”按钮,程序会在右侧文本框中显示一个随机数。每次单击“生成”按钮,程序会将生成的随机数添加到历史记录列表中。
当单击“显示历史记录”按钮时,程序会将历史记录列表中的所有数字显示在左下角的文本框中。
我希望这个例子能够对您有所帮助。
阅读全文