PyQt是一个非常有用的Python库,用于开发图形化应用程序。它使用C++语言开发的Python Qt GUI框架。可以通过在Python脚本中导入PyQt库或使用PyQt的Qt设计器模块来开发应用程序的图形用户界面。如果您不想编写代码来实现应用程序的GUI,那么最好安装Qt Designer并使用它创建一个图形用户界面。本教程将逐步介绍用Python创建PyQt应用程序的方法。

创建一个简单的PyQt应用程序来求和:

本教程的本节展示了实现一个简单的PyQt应用程序来计算两个数字之和的步骤。在这里,数字值将使用文本框从用户处获取,在执行脚本之后,单击按钮后将显示值的总和。在这里创建了一个带有必要字段的窗口来构建应用程序的设计;接下来,使用Python脚本计算和。

步骤:

步骤1:创建PyQt应用程序对象

为了设计本教程的PyQt应用程序,您必须导入所需的Python模块。要设计这个应用程序,它将需要两个标签、两个文本框和一个按钮。

设计应用程序需要QApplication、QMainWindow、QLabel、QTextEdit和QPushButton模块。

在脚本的开头添加以下行以使用这些模块。

# 导入必要的模块
from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel, QTextEdit, QPushButton

添加以下几行以创建应用程序对象并启动事件循环。现在执行脚本后将不会出现任何内容。

# 创建对象PyQt应用程序
app = QApplication([])
# 启动事件循环以执行应用程序
app.exec()

步骤2:创建类和窗口对象

创建类以在此步骤中添加必要的对象以设计应用程序窗口。

添加以下行以创建带有窗口对象的类。 此处,设置了窗口的标题,大小和位置。 接下来,调用show()方法以将窗口显示为输出。

class addition(QMainWindow):

    def __init__(self):
        # 调用父构造函数
        super().__init__()

        # 设置窗口标题
        self.setWindowTitle("PyQt加法应用 - Linux迷 www.linuxmi.com")
        # 设置窗口的宽度和高度
        self.resize(850, 500)
        # 移动窗口的位置
        self.move(800, 400)
        # 显示窗口
        self.show()

您必须在运行事件循环之前创建类的对象。

# 创建窗口对象
window = addition()

执行脚本后,将出现以下空白窗口。

步骤3:在窗口中添加所需的小部件以进行添加

现在,添加实现应用程序所需的必要对象。 在此步骤中,将创建QLabel小部件的三个对象,QTextEdit小部件的两个对象以及QPushButton小部件的按钮对象。 前两个标签对象将用于在文本框之前提供帮助文本。 QTextEdit对象将用于从用户获取两个数字值。 将使用下一步将创建的事件处理函数创建QPushButton对象,以计算输入数字的总和。 最后一个标签对象将用于显示两个数字的总和。 在这里,将为每个对象调用setGeometry()函数以设置对象在窗口中的位置。

        # 为第一个数字创建标签
        self.lbl1 = QLabel('第一个数字', self)
        self.lbl1.setGeometry(200, 120, 160, 50)
        # 为第一个数字创建文本框
        self.textbox1 = QTextEdit(self)
        self.textbox1.setGeometry(200, 160, 150, 60)

        # 为第二个数字创建标签
        self.lbl2 = QLabel('第二个数字', self)
        self.lbl2.setGeometry(500, 120, 160, 50)
        # 为第二个数字创建文本框
        self.textbox2 = QTextEdit(self)
        self.textbox2.setGeometry(500, 160, 150, 60)

        # 创建按钮以计算总和
        self.submit = QPushButton('计算总和', self)
        self.submit.setGeometry(300, 300, 220, 60)
        # 创建标签以显示求和结果
        self.lblResult = QLabel('', self)
        self.lblResult.setGeometry(80, 130, 200, 50)

执行脚本后,将显示以下输出。 在此步骤中未创建任何事件处理程序函数,该函数用于计算数字的总和。 因此,如果用户单击该按钮,则不会发生任何事情。

步骤4:创建并调用函数以处理按钮的click事件

创建一个名为onClicked()的方法,并在附加类中包含以下几行内容来处理按钮的click事件。 使用int()函数将文本框的值转换为整数,并将其存储在num1和num2变量中。 接下来,将num1和num2之和存储在结果变量中。 在将值存储在输出变量中之前,使用str()函数将num1,num2和结果变量的值转换为字符串值。 第三个标签对象用于显示输出变量的内容。

    def onClicked(self):

        num1 = int(self.textbox1.toPlainText())
        num2 = int(self.textbox2.toPlainText())
        result = num1 + num2
        output = "<p style='color:red'> " + str(num1) + " 加 " + str(num2) + " 等于 " + str(result) + '</p>'
        self.lblResult.setText(output)

在按钮对象之后的类中添加以下行,以在单击按钮时调用onClicked()方法。

        # 单击按钮时的调用功能
        self.submit.clicked.connect(self.onClicked)

执行脚本后,如果用户在文本框中输入26和500并单击“计算总和”按钮,则以下格式化的输出将显示在按钮下方。

总结:

在本教程中,已经从基本内容开始对非常简单的PyQt应用程序的实现进行了说明,以帮助新的Python用户。 希望用户在正确完成并理解本教程的步骤之后,能够设计和创建一个简单的PyQt应用程序。

除非注明,否则均为Linux迷原创文章,转载必须以链接形式标明本文链接

本文链接:https://www.linuxmi.com/pyqt-app-shili.html

发表评论