使用Python和PyQt制作计算器UI界面
使用Python和PyQt制作计算器UI界面,您可以使用PyQt库。以下是一个简单的示例代码,演示如何创建一个基本的计算器UI界面:
from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget, QVBoxLayout, QLineEdit, QPushButton
class CalculatorUI(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle('Calculator')
self.setGeometry(100, 100, 300, 300)
self.central_widget = QWidget()
self.setCentralWidget(self.central_widget)
self.layout = QVBoxLayout()
self.central_widget.setLayout(self.layout)
self.line_edit = QLineEdit()
self.layout.addWidget(self.line_edit)
self.create_buttons()
def create_buttons(self):
button_layout = QVBoxLayout()
self.layout.addLayout(button_layout)
button_names = [
'7', '8', '9', '/',
'4', '5', '6', '*',
'1', '2', '3', '-',
'0', '.', '=', '+'
]
for name in button_names:
button = QPushButton(name)
button.clicked.connect(self.handle_button_click)
button_layout.addWidget(button)
def handle_button_click(self):
button = self.sender()
text = button.text()
if text == '=':
try:
result = eval(self.line_edit.text())
self.line_edit.setText(str(result))
except:
self.line_edit.setText('Error')
else:
self.line_edit.setText(self.line_edit.text() + text)
if __name__ == '__main__':
app = QApplication([])
calculator_ui = CalculatorUI()
calculator_ui.show()
app.exec()
这个代码创建了一个继承自QMainWindow的CalculatorUI类。在init方法中,设置了窗口的标题和大小,并创建了一个垂直布局。然后,使用setCentralWidget方法将布局设置为窗口的中央部件。
在create_buttons方法中,创建了一个包含计算器按钮的垂直布局,并将其添加到主布局中。按钮的名称存储在button_names列表中,通过循环创建按钮并连接到handle_button_click方法。
handle_button_click方法处理按钮点击事件。如果点击的是'='按钮,则通过eval函数计算表达式的结果,并将结果显示在文本框中。如果点击的是其他按钮,则将按钮的文本添加到文本框中。
最后,在main函数中创建了一个QApplication实例和CalculatorUI实例,并显示计算器UI界面。app.exec()启动了Qt事件循环,使得应用程序能够响应用户的交互。
原文地址: https://www.cveoy.top/t/topic/p2bo 著作权归作者所有。请勿转载和采集!