前言,主要由这两篇文章参考并总结部分内容而成,参考文章一 && 参考文章二
PyQt6 简单介绍与安装
- 1、简单介绍
- 2、PyQt6安装
- 3、PyQt6版本查看
- 4、PyQt6模块
- 4.1 界面承载部分( 控件 )
- 4.2 界面框架部分(布局)
- 4.3 界面组件部分(其实也是Widget类)
- 4.4 界面样式部分
- 4.5 界面交互部分
- 4.6 概念之间关系
- 4.7 Qt for Python官网
1、简单介绍
PyQt6是Digia 公司的 Qt 程序的 Python 中间件。Qt库是最强大的GUI库之一。
PyQt6是由Riverbank Computing公司开发的PyQt6的官网,链接如下:PyQt6官网。
PyQt6 是基于 Python 的一系列模块。它是一个多平台的工具包,可以在包括Unix、Windows和Mac OS在内的大部分主要操作系统上运行。PyQt6 有两个许可证,开发人员可以在 GPL 和商业许可之间进行选择。
2、PyQt6安装
输入命令,使用pip工具,安装PyQt6:
pip install PyQt6
如下图所示,即安装成功:
3、PyQt6版本查看
写个测试代码,查看PyQt的版本,并看是否能导入PyQt的库:
# 导入相关的库
from PyQt6.QtCore import QT_VERSION_STR
from PyQt6.QtCore import PYQT_VERSION_STR# QT_VERSION_STR 可以显示 Qt 的版本信息并打印控制台
# PYQT_VERSION_STR 可以显示 PyQt 的版本信息并打印控制台
print(QT_VERSION_STR)
print(PYQT_VERSION_STR)
运行后如下图所示:
4、PyQt6模块
PyQt6 类是由一系列模块组成的,包括如下的模块:
- QtCore
- QtGui
- QtWidgets
- QtDBus
- QtNetwork
- QtHelp
- QtXml
- QtSvg
- QtSql
- QtTest
QtCore 模块是非 GUI 的核心库。这个模块用来处理时间、文件、目录、各种类型的数据、流(stream)、URLs,mime 类型、线程和进程。
QtGui 有窗口系统集成、事件处理、2D图形,基本图像、字体、文本的类。
QtWidgets 有创建经典风格的用户界面的类。
QtDBus 是使用 D-Bus 处理 IPC 通讯的类。
QtNetwork 是网络变成类,这些类使网络编程变得更容易,可移植性也更好,方便了 TCP/IP 和 UDP 服务端和客户端编程。
QtHelp 包含了创建、查看和搜索文档的类。
QtXml 包含了处理 XML 文件的类,实现了 SAX 和 DOM API。
QtSvg 提供了显示 SVG 的类,可缩放矢量图形(SVG)是一种描述二维图像和图像应用的 XML 语言。
QtSql 模块提供了数据库的类
QtTest 提供了可以对 PyQt6 应用进行单元测试的工具。
4.1 界面承载部分( 控件 )
- 主类:QWidget
- 继承类:
QWidget
QWidget 子类(太多了,没法列完整),可看网址:QWidget子类
如下图所示,在Modules API底下可查看PySide6.QtWidgets的子类:
4.2 界面框架部分(布局)
主类
- QLayout
继承类
- QGridLayout (网格布局)
- QBoxLayout(简单的上下布局)
- QStackedLayout (可切换widget的布局)
- FlowLayout(流式布局)
4.3 界面组件部分(其实也是Widget类)
- button(按钮)
- label(标签)
- 其他等等
4.4 界面样式部分
- color(颜色)
- size(大小)
- font(字体)
- Icon(图标)
4.5 界面交互部分
- action(动作)
- event(事件)
- signal(信号)
- slot(信号槽)
- connect(动作绑定)
4.6 概念之间关系
- QWidget 作为页面的主体,挂载在 layout (布局) 上,layout (布局) 可以添加页面的组件,通过 action(动作,类似于点击),event(事件),signal(信号),slot(信号槽),connect(动作绑定)产生交互。
- 通过样式类,类似于 Icon(图标),大小,颜色,字体等,修改界面的细节。
- widget 上需要有 layout,layout 可以 继续添加 widget,可以一直加下去。
4.7 Qt for Python官网
链接如下:Qt for Python官网