PyQt5.QtWidgets常用函数及说明

PyQt5.QtWidgets简介

PyQt5.QtWidgets 是 PyQt5 库中的一个模块,它包含了用于创建图形用户界面(GUI)的各种小部件(widgets)。这些小部件可以用来构建窗口、对话框、按钮、文本框、列表框、菜单等用户界面元素。以下是一些常用的 PyQt5.QtWidgets 模块中的类和它们的基本用途:

常用类和用途:

  • QApplication

管理 GUI 应用程序的控制流和主要设置。每个 PyQt5 应用程序都需要一个 QApplication 对象。

  • QWidget

所有用户界面对象的基类。一个 QWidget 对象可以是一个窗口或控件,可以包含其他控件。

  • QMainWindow

提供一个主应用程序窗口,可以包含菜单栏、工具栏、状态栏和中央窗口部件。

  • QDialog

用于创建对话框窗口的基本类。对话框可以是模态的或非模态的。

  • QLabel

用于显示文本或图像。

  • QPushButton

提供一个按钮控件,用户可以点击。

  • QLineEdit

提供一个单行文本输入框。

  • QTextEdit

提供一个多行文本编辑框,支持富文本格式。

  • QComboBox

提供一个下拉列表框。

  • QSpinBox 和 QDoubleSpinBox

提供数字输入框,QSpinBox 用于整数,QDoubleSpinBox 用于浮点数。

  • QProgressBar

提供一个进度条,用于显示任务的进度。

  • QVBoxLayout 和 QHBoxLayout

提供垂直和水平布局管理器,用于自动排列窗口中的小部件。

  • QGridLayout

提供一个网格布局管理器,可以在网格中排列小部件。

  • QMenuBar, QToolBar, QStatusBar

分别提供菜单栏、工具栏和状态栏。

  • QMessageBox

提供一个标准对话框,用于显示消息、警告、错误等。

from PyQt5.QtWidgets import *

示例代码
以下是一个简单的 PyQt5 应用程序示例,展示了如何使用 PyQt5.QtWidgets 模块中的几个类:

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

class MyApp(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        self.setWindowTitle('PyQt5 Example')
        self.setGeometry(100, 100, 300, 200)

        layout = QVBoxLayout()

        label = QLabel('Hello, PyQt5!', self)
        layout.addWidget(label)

        self.setLayout(layout)

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

在这里插入图片描述

常用函数

设置窗口标题和固定大小

self.setWindowTitle("加载数据中。。。")
self.setFixedSize(400, 100)

400*100像素
在这里插入图片描述

创建垂直布局

layout = QVBoxLayout()
self.setLayout(layout)

创建标签控件

layout = QVBoxLayout()

label = QLabel('Hello, PyQt5!', self)
layout.addWidget(label)

self.setLayout(layout)

label = QLabel(‘Hello, PyQt5!’, self) 和 layout.addWidget(label) 是 PyQt5 中创建和布局标签控件的基本步骤。通过使用布局管理器,可以确保窗口部件在窗口大小变化时能够正确地调整位置和大小,从而提供更好的用户体验。

创建进度条

self.progress_bar = QProgressBar()
self.progress_bar.setRange(0, 0)  # 设置进度条为循环加载
layout.addWidget(self.progress_bar)

继承父类对象

super().__init__()

在 Python 中,super().init() 是一种调用父类方法的常见方式,特别是在子类的构造函数(init 方法)中。这个调用确保了父类的初始化逻辑得到执行,这对于继承和多态性是非常重要的。

解释 super().init()
super(): 这是一个内置函数,它返回一个代理对象,让你能够调用父类(或兄弟类)的方法。在 Python 2.x 中,你需要提供两个参数:super(子类名, self),而在 Python 3.x 中,super() 不需要参数,它会自动根据当前的类和实例来确定父类。

init(): 这是 Python 中的构造函数,当一个类的实例被创建时,这个方法会自动被调用。它用于初始化实例的状态。

当你在子类的 init 方法中调用 super().init() 时,你实际上是在告诉 Python 去调用父类的 init 方法。这样做的好处是,你可以确保父类的初始化代码得到执行,同时还可以在子类中添加或修改特定的初始化逻辑。

创建一个 QApplication 对象和退出应用程序

app = QApplication(sys.argv)

在 PyQt5 应用程序中,app = QApplication(sys.argv) 这行代码是创建一个 QApplication 对象的关键步骤。这个对象是整个应用程序的控制中心,负责管理应用程序的资源、事件循环、窗口行为等。

解释 QApplication(sys.argv)
QApplication: 这是 PyQt5 中的一个核心类,用于创建应用程序对象。每个 PyQt5 应用程序都必须创建一个 QApplication 对象。这个对象负责初始化应用程序,并处理应用程序级别的事件和资源。

sys.argv: 这是一个包含命令行参数的列表。在 Python 中,sys.argv 包含了从命令行传递给脚本的参数。第一个元素(sys.argv[0])是脚本的路径名。使用 sys.argv 作为 QApplication 的参数,可以使得应用程序能够接收并处理命令行参数。

sys.exit(app.exec_())

sys.exit(app.exec_()) 是 PyQt5 应用程序中用于启动事件循环并确保应用程序正常退出的关键代码。这行代码通常位于 PyQt5 应用程序的最后。

解释 sys.exit(app.exec_())
app.exec_(): 这是 QApplication 对象的一个方法,它启动应用程序的事件循环。事件循环是 GUI 应用程序的核心,它负责监听和分发事件(如鼠标点击、键盘输入、窗口重绘等)。一旦调用了 exec_(),应用程序将进入一个无限循环,直到用户关闭应用程序或调用了特定的退出方法。

sys.exit(): 这是 Python 的 sys 模块中的一个函数,用于退出当前的 Python 解释器进程。当 sys.exit() 被调用时,它会尝试以指定的退出状态码(通常是 0 表示正常退出,非零值表示异常退出)退出进程。在 GUI 应用程序中,通常将 sys.exit() 与 app.exec_() 的返回值一起使用,以确保应用程序在退出时能够正确地清理资源。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海绵波波107

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值