使用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事件循环,使得应用程序能够响应用户的交互。

使用Python和PyQt制作计算器UI界面

原文地址: https://www.cveoy.top/t/topic/p2bo 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录