PyQt5写一段代码,界面分为左右两部分,界面一定要美观,左边两个按钮一个输入框,右边是显示框,左边一个按钮控制输入框,将输入的内容在显示框中显示,并将输入的内容存放到一个list中,左边第二按钮,将历史的输入内容全部显示
时间: 2024-06-10 09:07:33 浏览: 137
以下是代码实现:
```
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QHBoxLayout, QVBoxLayout, QPushButton, QLineEdit, QTextEdit
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# 创建左右布局
hbox = QHBoxLayout()
vbox_left = QVBoxLayout()
vbox_right = QVBoxLayout()
# 创建左边输入框、按钮和历史记录按钮
self.inputBox = QLineEdit()
self.showBox = QTextEdit()
self.showBox.setReadOnly(True)
showHistoryBtn = QPushButton('显示历史记录')
showHistoryBtn.clicked.connect(self.showHistory)
# 添加组件到左边布局
vbox_left.addWidget(self.inputBox)
vbox_left.addWidget(showHistoryBtn)
# 创建左边按钮并连接事件
leftBtn = QPushButton('确定')
leftBtn.clicked.connect(self.inputHandler)
# 添加组件到右边布局
vbox_right.addWidget(leftBtn)
vbox_right.addWidget(self.showBox)
# 将左右布局添加到水平布局中
hbox.addLayout(vbox_left)
hbox.addLayout(vbox_right)
self.setLayout(hbox)
# 窗口设置
self.setGeometry(300, 300, 500, 300)
self.setWindowTitle('左右布局')
self.show()
def inputHandler(self):
# 将输入框的内容显示在显示框中
text = self.inputBox.text()
self.showBox.append(text)
# 将输入框的内容存放到一个 list 中
self.inputList.append(text)
self.inputBox.setText('')
def showHistory(self):
# 显示历史记录
text = '\n'.join(self.inputList)
self.showBox.append(text)
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
```
界面截图:
![image.png](https://cdn.nlark.com/yuque/0/2022/png/973590/1644492815951-8c33019d-00e9-475f-9fb8-a378026d59f0.png)
当您问我“我在前面对你说了什么”时,我要讲个笑话:一个程序员的女朋友说:“puts function with strings in C, will print the letter 'h' ”,然后程序员回答:“Bullshit! It should print the letter hawhawhaw!”
阅读全文