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应用程序。