Python----QT篇基础篇(一) 这个函数定义了创建和显示GUI窗口的过程。定义一个名为MyWindow的类,该类继承自QWidget,表示这是一个自定义的窗口类。

1

def create_window():
 # 创建QApplication对象
 app = QApplication(sys.argv)
 
 # 创建一个QWidget窗口
 window = QWidget()
 # 设置窗口标题
 window.setWindowTitle('姓名')
 # 设置窗口的位置和大小
 window.setGeometry(20, 400, 500, 500) # x, y, width, height
 
 # 创建一个垂直布局管理器
 layout = QVBoxLayout()
 
 # 创建一个QLabel对象,并设置其文本为'label1'
 label1 = QLabel('label1')
 # 将label1添加到布局管理器中
 layout.addWidget(label1)
 
 # 创建一个QLabel对象,并设置其文本为'label2'
 label2 = QLabel('label2')
 # 将label2添加到布局管理器中
 layout.addWidget(label2)
 
 # 将布局管理器设置为窗口的布局
 window.setLayout(layout)
 # 显示窗口
 window.show()
 
 # 运行应用程序的主事件循环,并退出程序
 sys.exit(app.exec_())

导入必要的模块和类

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QVBoxLayout
* `import sys`: 导入`sys`模块,它提供对Python解释器使用或维护的一些变量的访问,以及与Python解释器强烈交互的功能。在这里,它被用来传递命令行参数给`QApplication`。
* `from PyQt5.QtWidgets import ...`: 从`PyQt5.QtWidgets`模块中导入几个类。`QApplication`是管理GUI应用程序的控制流和主要设置的类;`QWidget`是所有用户界面对象的基类;`QLabel`用于显示文本或图片;`QVBoxLayout`是一个布局类,用于垂直地堆叠窗口部件。

定义create_window函数:

def create_window():

这个函数定义了创建和显示GUI窗口的过程。

创建应用程序对象

app = QApplication(sys.argv)

这里创建了一个QApplication对象。sys.argv是一个来自命令行的参数列表,它通常被传递给QApplication的构造函数。

window = QWidget()
window.setWindowTitle('姓名')
window.setGeometry(20, 400, 500, 500) # x, y, width, height
* `window = QWidget()`: 创建一个新的`QWidget`对象,这将是我们的主窗口。
* `setWindowTitle('姓名')`: 设置窗口的标题为“姓名”。
* `setGeometry(20, 400, 500, 500)`: 设置窗口在屏幕上的位置和大小。前两个参数是窗口左上角的x和y坐标,后两个参数是窗口的宽度和高度。

设置窗口布局和添加标签:

layout = QVBoxLayout()
label1 = QLabel('label1')
layout.addWidget(label1)
label2 = QLabel('label2')
layout.addWidget(label2)
window.setLayout(layout)
* 首先,创建一个`QVBoxLayout`对象,它将用于垂直地组织窗口中的部件。
* 然后,创建两个`QLabel`对象(`label1`和`label2`),并使用`layout.addWidget()`方法将它们添加到布局中。
* 最后,使用`window.setLayout(layout)`将布局应用到主窗口上。

显示窗口并进入应用程序的主循环:

window.show()
sys.exit(app.exec_())
* `window.show()`: 显示窗口。在调用这个方法之前,窗口是不可见的。
* `sys.exit(app.exec_())`: 进入应用程序的主事件循环,等待用户交互。当用户关闭窗口或退出应用程序时,`app.exec_()`将返回一个值,并通过`sys.exit()`确保应用程序以适当的状态码退出。

脚本的入口点:

if __name__ == '__main__':
 create_window()

2

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QVBoxLayout
class MyWindow(QWidget):
 def __init__(self):
 super().__init__()
 self.setWindowTitle('姓名')
 self.setGeometry(100, 100, 500, 500) # x, y, width, height
 self.init_ui()
 
 def init_ui(self):
 layout = QVBoxLayout()
 
 label1 = QLabel('label1')
 layout.addWidget(label1)
 
 label2 = QLabel('label2')
 layout.addWidget(label2)
 
 self.setLayout(layout)
if __name__ == '__main__':
 app = QApplication(sys.argv)
 window = MyWindow()
 window.show()
 sys.exit(app.exec_())

导入模块和类

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QVBoxLayout

import sys: 导入Python的sys模块,它提供了一些与Python解释器及其环境交互的函数和变量。在GUI应用中,它常用于处理命令行参数和退出程序。
from PyQt5.QtWidgets import …: 从PyQt5框架的QtWidgets模块中导入几个关键的类。PyQt5是一个用于创建图形用户界面(GUI)应用的Python库。
QApplication: 管理GUI应用的控制流和主要设置。
QWidget: 所有用户界面对象的基类,用于创建窗口和小部件。
QLabel: 一个用于显示文本或图像的小部件。
QVBoxLayout: 一个布局管理器,用于垂直堆叠小部件。

定义窗口类

class MyWindow(QWidget):

定义一个名为MyWindow的类,该类继承自QWidget,表示这是一个自定义的窗口类。

初始化方法

def __init__(self):
 super().__init__()
 self.setWindowTitle('姓名')
 self.setGeometry(100, 100, 500, 500) # x, y, width, height
 self.init_ui()

__init__方法是类的构造函数,用于初始化新创建的对象。
super().init(): 调用父类(QWidget)的构造函数,确保基类也被正确初始化。
self.setWindowTitle(‘姓名’): 设置窗口的标题栏文本为“姓名”。
self.setGeometry(100, 100, 500, 500): 设置窗口在屏幕上的位置和大小。前两个参数是窗口左上角的x和y坐标,后两个参数是窗口的宽度和高度。
self.init_ui(): 调用一个自定义方法来进一步初始化用户界面。

初始化用户界面方法

def init_ui(self):
 layout = QVBoxLayout()
 
 label1 = QLabel('label1')
 layout.addWidget(label1)
 
 label2 = QLabel('label2')
 layout.addWidget(label2)
 
 self.setLayout(layout)

定义一个名为init_ui的方法,用于设置窗口的用户界面。
layout = QVBoxLayout(): 创建一个垂直布局管理器实例。
创建两个QLabel实例,分别显示文本“label1”和“label2”,并将它们添加到布局管理器中。
self.setLayout(layout): 将此布局设置为窗口的布局,这意味着窗口中的小部件将按照此布局进行排列。

主程序入口点

if __name__ == '__main__':
 app = QApplication(sys.argv)
 window = MyWindow()
 window.show()
 sys.exit(app.exec_())

if name == ‘main’:: 确保以下代码只在直接运行此脚本时执行,而不是在导入为模块时。
app = QApplication(sys.argv): 创建一个QApplication实例,传入命令行参数。这是运行任何PyQt5 GUI应用所必需的。
window = MyWindow(): 创建一个MyWindow类的实例,即一个自定义窗口。
window.show(): 显示窗口。在调用此方法之前,窗口是不会显示出来的。
sys.exit(app.exec_()): 进入应用的主事件循环,等待用户交互。当用户关闭窗口或退出应用时,app.exec_()会返回一个退出状态码,sys.exit()则确保应用以这个状态码退出。

作者:K0711原文地址:https://blog.csdn.net/K0711/article/details/143095526

%s 个评论

要回复文章请先登录注册