PyQt5 是 Python 的第三方库,提供了 Qt 框架的 Python 绑定,允许开发者在 Python 中创建跨平台图形用户界面(GUI)应用。PyQt5 功能强大,涵盖窗口、控件、事件处理、绘图、网络、多媒体等模块,是桌面应用开发的常用工具。

安装 :

pip install PyQt5

常见应用场景:

(1)桌面应用开发

创建具有窗口、菜单、工具栏、状态栏的完整 GUI 程序。

(2)跨平台支持

同一套代码可在 Windows、macOS、Linux 上运行。

(3)数据可视化工具

结合绘图库(如 matplotlib)实现交互式图表。

(4)多媒体应用

支持音视频播放、图像处理等多媒体操作。

(5)企业内部工具

快速开发管理系统、工具软件和原型界面。

◆ ◆

核心概念

1、应用程序对象(QApplication)

每个 PyQt5 GUI 程序必须创建一个 QApplication 对象,管理应用程序的主控事件循环和全局设置。

app = QApplication([])

2、窗口与控件(QWidget, QMainWindow 等)

• QWidget:所有 GUI 控件的基类,可作为窗口或容器。

• QMainWindow:标准主窗口,包含菜单栏、工具栏、状态栏。

• 常用控件:QLabel(标签)、QPushButton(按钮)、QLineEdit(文本输入)、QComboBox(下拉框)、QTableWidget(表格)等。

3、布局管理(Layout)

通过布局管理器组织控件位置和大小,常用的有:

• QVBoxLayout:垂直布局

• QHBoxLayout:水平布局

• QGridLayout:网格布局

• QFormLayout:表单布局

4、事件与信号槽机制(Signal & Slot)

• 信号(Signal):控件触发的事件,例如按钮点击、文本变化。

• 槽(Slot):处理信号的函数或方法。

• 使用 connect() 方法将信号与槽绑定。

button.clicked.connect(some_function)

5、绘图与多媒体

• QPainter:用于自定义绘图,如绘制形状、文本和图像。

• QMediaPlayer、QVideoWidget:用于音视频播放。

◆ ◆

应用举例

例 1:创建简单窗口

app.exec_()

例 2:按钮点击事件

app.exec_()

例 3:文本输入与标签

app.exec_()

例 4:网格布局示例

app.exec_()

例 5:信号与自定义槽

app.exec_()

◆ ◆

常用函数与类速览

QApplication([])

创建应用程序对象。

参数:列表形式的命令行参数(可选)。

返回:QApplication 实例。

QWidget()

创建基础窗口或控件。

参数:可选父控件。

返回:QWidget 实例。

QMainWindow()

创建主窗口,支持菜单栏、工具栏等。

参数:可选父控件。

返回:QMainWindow 实例。

QPushButton(text)

创建按钮控件。

参数:按钮文本。

返回:QPushButton 实例。

QLabel(text)

创建文本标签控件。

参数:显示文本。

返回:QLabel 实例。

QLineEdit()

创建单行文本输入框。

参数:可选父控件。

返回:QLineEdit 实例。

Signal.connect(slot)

将信号绑定到槽函数。

参数:可调用对象。

返回:无。

show()

显示控件或窗口。

参数:无。

返回:无。

exec_()

启动应用程序事件循环。

参数:无。

返回:退出代码(int)。

小结

PyQt5 是 Python 中功能最强大的 GUI 框架之一,提供丰富的控件、布局和事件机制。

通过 QApplication、控件类及信号槽机制,可以快速构建跨平台桌面应用。

无论是简单工具、数据可视化程序,还是复杂企业级桌面软件,PyQt5 都提供了稳定、灵活且可扩展的开发环境。

打开网易新闻 查看精彩图片

点赞有美意,赞赏是鼓励