找回密码
 会员注册
查看: 25|回复: 0

在VisualStudioCode中使用PyQt5开发pythonGUI应用程序

[复制链接]

3

主题

0

回帖

10

积分

新手上路

积分
10
发表于 2024-9-11 11:54:20 | 显示全部楼层 |阅读模式
0.概述0.1.什么是Qt?Qt是一套跨平台的C++框架,用于开发图形用户界面(GUI)和非GUI应用程序。0.2.什么是PyQt?PyQt是一个用于创建基于Qt应用程序的Python库。PyQt允许开发者使用Python语言访问Qt的功能,开发桌面应用程序。0.3.使用PyQt创建GUI应用程序的基本流程是怎么样的?安装PyQt。使用QtDesigner软件,设计应用程序的GUI界面,获得.ui文件。使用Pyuic工具,将.ui文件转换为.py文件。使用python编程,调用GUI界面的.py文件,编写GUI界面各组件的绑定事件函数,如点击某按钮时触发某函数,实现某功能。0.4.在VisualStudioCode中使用PyQt5的思路是怎么样的?在Python环境(原生或虚拟环境)中安装PyQt5,在VisualStudioCode编辑器(下文简称VSC)中安装PyQt拓展,然后就可以在VSC中完成「新建.ui文件」、「启动QtDesigner」、「完成.ui文件和.py文件的转换」等工作,十分方便。现在开始介绍使用方法。1.安装PyQt5使用PyQt5需要用到两个包:pyqt5和pyqt5-tools。如果想在原生环境中安装,那么在命令行中使用pip即可安装:pipinstallPyQt5pipinstallPyQt5-tools本人习惯在虚拟环境中安装,因此先不执行上述两个命令,首先创建一个虚拟环境「venv_QT」:python-mD:\data\...\venv_QT再使用虚拟环境的pip在虚拟环境中安装pyqt5和pyqt5-tools两个包,并采用国内镜像网站,提高下载速度和成功率:D:\data\...\venv_QT\Scripts\python-mpipinstallPyQt5D:\data\...\venv_QT\Scripts\python-mpipinstallPyQt5-tools-ihttps://pypi.tuna.tsinghua.edu.cn/simple安装完成。2.VSC安装PYQTIntegration拓展在VSC中点击「Extensions拓展」,搜索「PYQTIntegration」并安装。安装完成后,点击「PYQTIntegration」的齿轮,选择「ExtensionSettings」,进入该拓展的设置页面。在设置页面,我们指定一些PyQt工具的路径,以便于在VSC中启动这些工具,便捷地执行PyQt操作。首先指定Pyuic的路径(前文说到,Pyuic是一个将我们设计的GUI界面的.ui文件转换为.py文件的工具),在「Pyqt-integration>yuic: Cmd」,输入安装PyQt5的虚拟环境中Pyuic的绝对路径:D:\data\...\venv_QT\Scripts\pyuic52.指定QTdesigner的路径(前文说到,QTdesigner就是QT用来设计GUI的软件,通过拖拽组件可以快速构建GUI),在「Pyqt-integration>Qtdesigner: ath」,输入虚拟环境中QTdesigner的绝对路径:D:\data\...\venv_QT\Lib\site-packages\qt5_applications\Qt\bin\designer3.此外,我们还可以在「Pyqt-integration>yuic>Compile: Filepath」指定将.ui文件转换成.py文件时的保存路径和命名格式。完成设置后,就可以开始在VSC中使用PyQt了。3.在VSC中使用PyQt5在VSC中打开一个文件夹(Folder),来作为开发GUI项目的目录。在文件夹栏空白处点击右键,点击「PYQT:NewForm」,即可启动QtDesigner软件,开始设计项目的GUI界面。拖拽各种组件,设计项目的GUI。QtDesigner的使用方法不是本文的重点,不展开。设计完成后,点击「文件>另存为」,把所设计的.ui文件保存到项目目录下。保存完成后即可关闭QtDesigner。现在回到VSC,可以看到项目目录下刚才所保存的xxx.ui文件。文件里是类似html5的代码,我们不需要管。在文件夹栏右击xxx.ui文件,点击「PYQT:CompileForm」,即可(调用Pyuic工具)将xxx.ui文件转换为xxx_Ui.py文件。转换完成后,可以在目录看到新生成的xxx_Ui.py文件。(复习一下:这个文件的命名格式可以按照上文的方法指定。)这个xxx_Ui.py文件,忽略其.py后缀,名字是「matchingNetworkDesigner_Ui」,它的代码主体是一个类,类的名字是「Ui_MainWindow」,类里定义了GUI的各个组件及其格式、位置等等。现在,我们新建一个TOP.py文件,作为项目的顶层文件。在TOP.py文件里,我们调用GUI的xxx_Ui.py和定义函数的xxx_function.py文件,并将GUI各组件的操作与函数绑定,实现GUI程序的完整功能。TOP.py要调用xxx_Ui.py里的class,顺利显示GUI,需要一些固定的语句,请参看以下代码和注释:#TOP.py的基本框架。#可以加以拓展,继续添加更多的函数、绑定更多的GUI组件的事件。importsys#import必要的包fromPyQt5.QtWidgetsimportQApplication,QMainWindowimportmatchingNetworkDesigner_Ui#importGUI的.py文件defL_cal():passdefL_reset():passif__name__=="__main__":app=QApplication(sys.argv)MainWindow=QMainWindow()ui=matchingNetworkDesigner_Ui.Ui_MainWindow()#ui=GUI的py文件名.类名ui.setupUi(MainWindow)ui.L_PB_cal.clicked.connect(L_cal)#把函数绑定GUI的按钮的点击事件。ui.L_PB_reset.clicked.connect(L_reset)#按钮名字「L_PB_cal」和「L_PB_reset」在QtDesigner中定义。MainWindow.show()sys.exit(app.exec_())我们运行 TOP.py 文件,就可以启动GUI应用程序了:我们在开发项目过程中,可以随时对GUI界面进行修改和调整。在文件夹栏的.ui文件右击,点击「PYQT:EditinDesigner」,即可启动QtDesigner对GUI界面进行编辑。编辑完成后保存并退出QtDesigner,对.ui文件右击,点击「PYQT:CompileForm」,重新更新一次xxx_Ui.py文件即可。运行过程中可能会出现报错:qt.qpa.plugin:CouldnotfindtheQtplatformplugin"windows"in""ThisapplicationfailedtostartbecausenoQtplatformplugincouldbeinitialized.Reinstallingtheapplicationmayfixthisproblem.解决办法是将Qt5的相关路径添加至系统变量。变量名:QT_QPA_PLATFORM_PLUGIN_PATH变量值:D:\data\...\venv_QT\Lib\site-packages\PyQt5\Qt5\plugins\platforms
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2024-12-31 05:28 , Processed in 1.811943 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表