欢迎访问宙启技术站
智能推送

PyQt5.uic模块-在QtCreator中创建界面

发布时间:2024-01-01 15:03:25

PyQt5.uic模块是PyQt5库中的一个模块,用于将在Qt Creator中设计的界面转换为Python代码。在Qt Creator中创建界面并使用PyQt5.uic模块可以方便地将界面设计和功能实现分离,提高开发效率。下面是一个使用PyQt5.uic模块在Qt Creator中创建界面的例子。

首先,打开Qt Creator并创建一个新的Qt Widgets Application项目。在项目中创建一个新的窗口界面,将其设计为一个简单的计算器界面,包含几个按钮和一个文本框。完成界面设计后,将其保存为calculator.ui文件。

接下来,在Python中使用PyQt5.uic模块将该界面转换为Python代码。创建一个新的Python文件,并添加以下代码:

from PyQt5 import QtWidgets, uic

# 加载界面文件
Ui_MainWindow, _ = uic.loadUiType("calculator.ui")

# 创建自定义窗口类
class CalculatorApp(QtWidgets.QMainWindow, Ui_MainWindow):
    def __init__(self):
        super(CalculatorApp, self).__init__()
        self.setupUi(self)

        # 添加按钮点击事件
        self.pushButton_add.clicked.connect(self.add)
        self.pushButton_sub.clicked.connect(self.sub)
        self.pushButton_mul.clicked.connect(self.mul)
        self.pushButton_div.clicked.connect(self.div)

    def add(self):
        num1 = int(self.lineEdit_num1.text())
        num2 = int(self.lineEdit_num2.text())
        result = num1 + num2
        self.label_result.setText(str(result))

    def sub(self):
        num1 = int(self.lineEdit_num1.text())
        num2 = int(self.lineEdit_num2.text())
        result = num1 - num2
        self.label_result.setText(str(result))

    def mul(self):
        num1 = int(self.lineEdit_num1.text())
        num2 = int(self.lineEdit_num2.text())
        result = num1 * num2
        self.label_result.setText(str(result))

    def div(self):
        num1 = int(self.lineEdit_num1.text())
        num2 = int(self.lineEdit_num2.text())
        result = num1 / num2
        self.label_result.setText(str(result))

# 创建应用程序对象
app = QtWidgets.QApplication([])

# 创建自定义窗口对象
calculator_app = CalculatorApp()

# 显示窗口
calculator_app.show()

# 运行应用程序
app.exec_()

在代码中,首先使用loadUiType函数从calculator.ui文件中加载界面。然后创建一个自定义窗口类CalculatorApp,该类继承自QtWidgets.QMainWindow和Ui_MainWindow,并在构造函数中调用setupUi方法来设置界面。

接下来,添加了四个按钮的点击事件。每个按钮点击事件对应一个计算操作,从文本框中获取输入的两个数值,进行相应的计算操作后,将结果显示在结果标签中。

最后,创建了一个应用程序对象,创建了一个自定义窗口对象,并显示窗口。最后,调用app.exec_()运行应用程序。

运行上述代码,将会显示一个计算器界面,可以输入两个数值并进行加、减、乘、除的计算,结果将显示在结果标签中。

通过使用PyQt5.uic模块,在Qt Creator中创建界面,并将其转换为Python代码,可以将界面设计和功能实现分离,提高开发效率。