Pythpn入门进阶系列 - 构建一个PyQt应用程序示例

开发 后端
如果您不想编写代码来实现应用程序的GUI,那么最好安装Qt Designer并使用它创建一个图形用户界面。本教程将逐步介绍用Python创建PyQt应用程序的方法。

 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模块。

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

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

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

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

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

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

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

  1. class addition(QMainWindow):  
  2.     def __init__(self):  
  3.         # 调用父构造函数  
  4.         super().__init__()  
  5.         # 设置窗口标题  
  6.         self.setWindowTitle("PyQt加法应用 - Linux迷 www.linuxmi.com")  
  7.         # 设置窗口的宽度和高度  
  8.         self.resize(850, 500)  
  9.         # 移动窗口的位置  
  10.         self.move(800, 400)  
  11.         # 显示窗口  
  12.         self.show() 

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

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

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

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

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

  1. # 为第一个数字创建标签  
  2.    self.lbl1 = QLabel('第一个数字', self)  
  3.    self.lbl1.setGeometry(200, 120, 160, 50)  
  4.    # 为第一个数字创建文本框  
  5.    self.textbox1 = QTextEdit(self)  
  6.    self.textbox1.setGeometry(200, 160, 150, 60)  
  7.    # 为第二个数字创建标签  
  8.    self.lbl2 = QLabel('第二个数字', self)  
  9.    self.lbl2.setGeometry(500, 120, 160, 50)  
  10.    # 为第二个数字创建文本框  
  11.    self.textbox2 = QTextEdit(self)  
  12.    self.textbox2.setGeometry(500, 160, 150, 60)  
  13.    # 创建按钮以计算总和  
  14.    self.submit = QPushButton('计算总和', self)  
  15.    self.submit.setGeometry(300, 300, 220, 60)  
  16.    # 创建标签以显示求和结果  
  17.    self.lblResult = QLabel('', self)  
  18.    self.lblResult.setGeometry(80, 130, 200, 50) 

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

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

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

  1. def onClicked(self):  
  2.     num1 = int(self.textbox1.toPlainText())  
  3.     num2 = int(self.textbox2.toPlainText())  
  4.     result = num1 + num2  
  5.     output = "<p style='color:red'> " + str(num1) + " 加 " + str(num2) + " 等于 " + str(result) + '</p> 
  6.     self.lblResult.setText(output) 

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

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

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

总结:

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

 

责任编辑:庞桂玉 来源: Linux公社
相关推荐

2021-07-14 17:39:46

ReactRails API前端组件

2023-09-21 08:00:00

ChatGPT编程工具

2011-05-11 10:58:39

iOS

2010-07-12 10:11:27

ibmdwWeb

2010-01-08 12:14:44

ibmdwAndroid

2018-11-14 19:00:24

PythonRedis共享单车

2019-05-27 13:50:35

多云架构企业多云集成云计算

2010-08-13 13:05:30

Flex应用程序

2011-06-09 09:31:40

Qt 实例

2023-05-19 08:49:58

SQLAlchemy数据库

2013-01-11 14:45:43

iOS开发移动应用iPhone

2011-03-14 14:47:50

2011-03-14 15:14:10

AzureFacebook营销式应用程序

2011-03-14 15:10:10

AzureFacebook

2024-06-07 08:25:16

2021-04-03 12:31:48

Python开发数据科学

2009-10-19 14:14:19

OSGi Web应用

2022-07-11 10:01:23

Vue 3前端

2011-03-15 19:45:27

Windows Azu

2020-10-11 20:54:39

Python开发Docker
点赞
收藏

51CTO技术栈公众号