目录
一、前言
1、依赖包
2、工具
二、安装依赖包
三、配置环境
四、配置设计工具
1、Qt Designer
2、PyRcc
3、PyUIC
五、使用
1、界面设计
2、ui文件转化为py文件
一、前言
很多情况下需要为程序设计一个GUI界面,在Python中使用较多的用户界面设计工具是PyQt。由于通常我们使用较多的IDE是PyCharm,为了方便地使用PyQt进行用户界面设计,这里总结了在PyCharm安装配置的简单安装方法。可能有人还不清楚这几个工具的用途,这里对要安装配置的依赖包和工具简介如下:
1、依赖包
PyQt5:PyQt5是一套Python绑定Digia QT5应用的框架。Qt库是最强大的GUI库之一,PyQt5做为Python的一个模块,它有620多个类和6000个函数和方法。这是一个跨平台的工具包,它可以运行在所有主要的操作系统,包括UNIX,Windows,Mac OS。PyQt5是双重许可。开发者可以在GPL和商业许可之间进行选择,详细可访问PyQt5的官方网站。
PyQt5-tools:PyQt5中没有提供常用的Qt工具,比如图形界面开发工具Qt Designer,PyQt5-tools中包含了一系列常用工具。
2、工具
Qt Designer:可以通过Qt Designer来编写UI界面,Qt Designer的设计符合MVC的架构,其实现了视图和逻辑的分离,从而实现了开发的便捷。Qt Designer中的操作方式十分灵活,其通过拖拽的方式放置控件可以随时查看控件效果。Qt Designer随PyQt5-tools包一起安装,其安装路径在 “Python安装路径\Lib\site-packages\pyqt5-tools”下。
PyUIC:Qt Designer生成的.ui文件(实质上是XML格式的文件)可以通过pyuic5工具转换成.py文件。
PyRcc:在使用PyQt开发界面时,在Qt Designer中使用的图片等资源需要将其编译为py文件,这时需要用到PyRcc工具方便地将qrc文件转换为py文件。
二、安装依赖包
直接安装在当前解释器中,即其他项目中也可直接使用
按住win+R,然后输入cmd,进入命令行
然后输入以下代码,安装PyQt5依赖包
pip install PyQt5 -i https://pypi.douban.com/simple
然后再输入以下代码,安装PyQt5-Tools工具依赖包
pip install PyQt5-tools -i https://pypi.douban.com/simple
等待安装成功,会安装到对应python版本的安装目录里面,例如我的如下
三、配置环境
将上面提到的安装路径添加到系统环境变量path中:电脑->右键选择属性->高级系统设置->环境变量
找到系统变量中的path,然后双击
点击新建,然后将pyqt5-tools的路径放入其中
回到环境变量界面。
在环境变量界面中点击“新建”,在系统环境变量中新建名为“QT_PLUGIN_PATH”的变量,如下图所示:
四、配置设计工具
回到Pycharm中,点击菜单栏“File”,弹出下拉框,选择“Setting”,弹出设置界面。在设置界面中选择“Tools”→“External Tools”,该部分操作如下图所示:
点击+
依次添加Qt Designer、
PyRcc、
PyUIC
1、Qt Designer
Name:Qt-Designer
program:designer.exe的安装路径(比如我的D:\python3.9\Lib\site-packages\qt5_applications\Qt\bin\designer.exe)
parameter:不填
Working directory: $FileDir$
2、PyRcc
Name:PyRcc
Program:pyrcc5.exe的安装路径(比如我的D:\python3.9\Scripts\pyrcc5.exe)
Arguments:$FileName$ -o $FileNameWithoutExtension$_rc.py
Working directory:$FileDir$
3、PyUIC
Name:PyUIC
Program:pyuic5.exe的安装路径(比如我的D:\python3.9\Scripts\pyuic5.exe)
Arguments:$FileName$ -o $FileNameWithoutExtension$.py
Working directory:$FileDir$
五、使用
1、界面设计
按照下图方式打开designer
此时会打开一个窗口
将设计出来的界面进行保存会得到一个ui文件
2、ui文件转化为py文件
选择对应的ui文件,右键->External tools->PyUIC
此时会将ui转化为对应的py文件,然后引用进去即可