PyQt5介绍
PyQt5是一个用于创建图形用户界面(GUI)的Python库。它是基于Qt库的,Qt是一个用于创建跨平台应用程序的C++库。PyQt5允许开发人员使用Python语言创建功能强大的应用程序。使用Python开发的优点是高效
PyQt5包括了许多工具,允许开发人员创建多种不同类型的用户界面,如对话框,下拉菜单,工具栏,按钮,文本框等。它还支持使用鼠标和键盘进行交互,以及使用图像和声音等多媒体内容。以下为详细介绍:
- 基础组件:PyQt5包含了一系列基础组件,如按钮,文本框,标签,菜单栏,工具栏等,可以让开发人员快速创建用户界面。
- 交互:PyQt5支持鼠标和键盘交互,可以让开发人员创建具有各种交互功能的应用程序。
- 多媒体:PyQt5允许开发人员在用户界面中使用图像,音频,视频等多媒体内容,可以创建丰富多彩的应用程序。
- 跨平台:PyQt5是基于Qt库的,Qt是跨平台的,因此PyQt5也具有跨平台的优势,可以在Windows,MacOS和Linux等操作系统上运行。
- 代码生成器:PyQt5具有高效的代码生成器,可以使用Qt Designer快速创建用户界面,并将其导出为Python代码。
- 文档和社区:PyQt5具有丰富的文档和社区支持,可以帮助开发人员解决各种问题。
- 灵活性:PyQt5是一个高度灵活的工具,可以根据开发人员的需求进行自定义和扩展,以满足不同类型的项目需.
总的来说,PyQt5是一个功能强大,易于使用的工具,可以帮助开发人员创建高质量的图形用户界面。如果您正在寻找一种用于创建图形用户界面的Python库,那么PyQt5可能是一个不错的选择。
PyQt5界面开发整体逻辑思路
上述为使用PyQt5开发界面时的整体框架逻辑。
- 我们可以借助QtDesigner工具进行可视化(拖、拉、拽)开发,减少代码编写工作,也能提高布局的美观。此处生成的文件为.ui后缀文件。
- python代码无法直接调用.ui后缀文件,因此,我们需要使用pyuic5工具进行编译为.py后缀文件。
- 编写PyQt5框架代码,并调用界面文件。
- 编写其他业务逻辑代码,最后运行界面。
此处使用QtDesigner工具进行界面开发,不仅能够提高工作效率。还可以天然的将界面代码和业务逻辑代码分离。在后期需要调整代码的时候不会相会牵制。这样能够保证较低的后期维护工作量。
工具准备工作
创建一个虚拟环境用于PyQt5开发
指令说明:conda create -n <要创建虚拟环境的名称> python==<版本号>
↓↓↓激活环境,并输入指令进行pyqt5工具包的下载。
↓↓↓可以看到刚刚通过指令下载几个开发包。
↓↓↓再单独下载一个pyqt5-tools,因为QtDesigner工具被包含在其中。
↓↓↓根据下图中的路径,在你电脑的Anaconda安装路径下找到designer.exe,就是工具的启动文件。可以将其路径放入系统环境变量,以供指令启动,也可以发送至桌面快捷方式。
此时,所需要的工具都已经准备好。 接下来就是第一个PyQt5项目的开发啦。
开发第一个PyQt5项目
启动QtDesigner
文件 ---->>新建---->>Widget(无菜单栏模板)---->>创建
界面介绍
需要什么控件只需要拖拽进入到界面,设置在指定的位置即可,在右边可以设置每一个对象对应的属性,在这就不过多赘述。后期内容会详细介绍每一个模块的使用和技巧。
在此我就拖入一个PushButton控件作为演示,随后,将文件保存到项目文件下。
在终端里面使用pyuic指令进行编译,随后可以看到生成的.py界面文件。
接下来就是,界面代码调用与业务逻辑的编写。
import sys # 导入sys模块,用于访问与Python解释器紧密相关的变量和函数,这里主要用于接收命令行参数
from PyQt5.QtWidgets import QApplication, QWidget # 从PyQt5的QtWidgets模块导入QApplication和QWidget类
# QApplication管理GUI程序的控制流和主要设置,QWidget是所有用户界面对象的基类
from interface import Ui_Form # 从interface模块导入Ui_Form类,这个类通常由Qt Designer工具生成,包含UI设计
class mywin(QWidget, Ui_Form): # 定义一个名为mywin的类,它继承自QWidget和Ui_Form
def __init__(self):
super(mywin, self).__init__() # 调用父类(QWidget和Ui_Form)的构造函数
self.setupUi(self) # 调用Ui_Form类中定义的setupUi方法,用于初始化UI界面
if __name__ == '__main__': # 当脚本被直接运行时,以下代码块将被执行
app = QApplication(sys.argv) # 创建一个QApplication对象,sys.argv参数是从命令行传递给程序的参数列表
# QApplication对象负责管理GUI程序的控制流和主要设置
w = mywin() # 创建mywin类的实例,这将初始化并显示UI界面
w.show() # 调用show()方法显示窗口
sys.exit(app.exec_()) # 进入应用程序的主事件循环,等待用户操作(如点击、按键等)
# 当用户关闭主窗口时,exec_()方法返回,然后调用sys.exit()确保程序干净地退出
# 注意:在PyQt5中,通常使用exec_()而不是exec()方法,因为exec是Python的保留关键字
到这里,我们就完成了第一个PyQt5项目的开发流程,本次主要是熟悉整个项目的流程。后续会继续整理其他内容。