当前位置: 首页 > article >正文

Python----QT篇基础篇(一)

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()则确保应用以这个状态码退出。


http://www.kler.cn/news/358358.html

相关文章:

  • 图像中的融合
  • zotero文献管理学习
  • 柬埔寨旅游应该准备的高棉语翻译器《柬埔寨语翻译通》app语音翻译功能让你跟当地人无阻沟通交流,高棉语OCR识别技术分享
  • 桂林美景探索:SpringBoot旅游平台指南
  • 5.C++经典实例-判断输入的年份是否为闰年
  • go 中指针的执行效率比较
  • AI大模型开发架构设计(14)——基于LangChain大模型的案例架构实战
  • Windows环境apache控制台命令行启动、停止、重启httpd服务
  • 【Flutter】页面布局:线性布局(Row 和 Column)
  • mybatis针对枚举的处理的总结
  • 《Vue3 版本差异》Vue3.5+ 在组件或HTML元素绑定 ref 差异
  • (RAG 系列)重排序模型部署以及接入 fastgpt 平台
  • 【Flutter】页面布局:弹性布局(Flex)
  • Linux下的进程解析(level 2)
  • C++核心编程和桌面应用开发 第十二天(输入输出流 流对象 写文件 读文件)
  • 鸿蒙应用开发----西西购物商城(一)
  • G-Set(增长集合,Grow-Only Set)
  • 面试题:在 React 中如何绑定事件
  • 从 Microsoft 官网下载 Windows 10
  • Linux命令进阶·vi\vim编辑器详细命令介绍