Python PyQt5简介

系列文章目录



前言

本篇文章适合想要学习PyQt5的且为初学者人群(但必须会python的基本语法),我会为大家介绍使用 pyqt 编写的 gui 程序的基本结构,旨在帮助初学者能快速地理清如何使用pyqt
环境:

  • windows11
  • python3
  • pyqt5(已经有pyqt6了,但由于pyqt5还是用得挺多的)

一、PyQt是什么?

简单地说,PyQt = Python + Qt。
python:一门热门的编程语言,既然能看到这篇文章,肯定都会。

Qt:Qt是一个跨平台的C++开发库,主要用来开发图形用户界面(Graphical User Interface,GUI)程序,就是一个用c++编写的gui库,里面都是一些能让计算机 显示出特定图形的和管理这些图形 的代码

PyQt:由于c++学习难度相对较大,用起来有些难受,所以有人就想用能不能简单一点的python来使用qt这个图形库,让开发更有效率。简单地说就是用python使用由c++编写的qt。而PyQt5就是第五个大版本。

二、PyQt5安装

pip install pyqt5 -i https://pypi.tuna.tsinghua.edu.cn/simple # 使用清华大学的镜像

三、PyQt5程序基本结构

1、PyQt5:QtCore、QtGui、QtWidgets

我们先了解一下pyqt5的三个用的 最多的大模块(因为它还有很多个大的模块)

  • QtCore
    QtCore 是PyQt5下面的一个模块,QtCore模块涵盖了包的核心的非GUI功能,此模块被用于处理程序中涉及到的 time、文件、目录、数据类型、文本流、链接、mime、线程或进程等对象。这部分和我们常见的普通的python的功能挺像的,但是还是有点不同
    比如:QFile(qt的文件)、QTimer(qt的计数器)
  • QtGui
    QtGui 是PyQt5下面的一个模块,QtGui模块涵盖多种基本图形功能的类; 包括但不限于:窗口集、事件处理、2D图形、基本的图像和界面 和字体文本。
    比如 font = QFont(),一个字体对象
  • QtWidgets
    在Qt中,生成窗口有三种方式: QWidget | QMainWindow | QDialog (以上都是QtWidgets的子类)页面的主窗口,一般看成一个容器,一个用来作画的画布。

2、示例程序

import sys
# from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *

class window(QWidget):
	# 全体目光向我看齐
    def __init__(self, parent = None): # 本类初始化
        super().__init__(parent) # 父类(Qwidget)初始化,这是必须的

        # 以下为Qwidget的内容(也就是执行时出现的图形),self 这里代表父类Qwidget
        # 就是在设置我们看到的图形的属性,比如大小,字体等等
        self.resize(200, 50)
        self.setWindowTitle("PyQt5")
        self.label = QLabel(self)
        self.label.setText("Hello World")

        # 以下是qtgui
        font = QFont()
        font.setFamily("Arial")
        font.setPointSize(16)

        self.label.setFont(font) # 将设定的字体作用于qwidget上
        self.label.move(50, 20)
        # 到这为止都是编写图形的代码,用到了QtWidgets、QtGui,由于过于简单没用到 QtCore 
    
def main():
    app = QApplication(sys.argv) # 程序的起点
    
    # 一个window类的实例,会直接执行__init__(self, parent = None),主要的程序体
    # 我接着就看到__init__方法,其实这部分代码不一定要放到__init__中,这段代码的作用就是设定
    # 只要在show方法执行前设定完毕,在哪不影响结果
    # 图形的属性
    ex = window()
    
    # 然后从__init__方法出来之后就到这里了,到这里说明图形以及被我们构造好了
    # 调用父类的show方法,表示展示我们所编写的内容 
    # 一般会一直循环展示
    ex.show() 
        
    # app.exe() : 执行PyQt5程序,执行的内容从app = QApplication(sys.argv)开始
    # 如果执行异常则退出
    sys.exit(app.exec())

if __name__=="__main__":
    main() # 执行main方法

我们先了解pyqt5运行的基本要点。

  • 一般它有一个起点,QApplication;
  • 然后我们在中间进行编程,程序会一直循环运行中间的主要的程序体;而中间就是一个大容器,一般为QWidget 或 QMainWindow,也是一个大画布,一个大父组件。其余的都在这之上。我们看到的图形就是这个。
  • 最后QApplication([]).exec()开始运行,运行的是中间编写的主要程序体,会循环运行,不是运行一下就直接退出。搞不懂的就看例子吧,例子永远是最能让人理解的。

让我们一步步地解析该程序。总体的过程,执行python程序,从 main()方法开始,接着直接看程序的注释吧。

程序执行结果
在这里插入图片描述


总结

以上就是今天要讲的内容,本文仅仅简单介绍了PyQt5,通过这篇文章至少能了解到PyQt5的最简单的结构与基本使用方法。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值