如果不做GUI界面的开发,Python开发的程序就只能作为脚本在后台跑,或者给出一个小黑屏,收收input信息作为非常有效的用户互动方式。根本无法做出符合市场需求的能够与用户丰富互动的程序。纯代码开发GUI界面的方式,适合学习,但效率又太低。所以需要一个外挂插件,可以实现在与Pycharm间的资源融合,开发流程一体化,同时又能高效开发GUI界面的方法。
前提已安装Pyqt5
解决方案安装GUI编程3件套,然后在Pycharm上进行设定,这3件套分别是:
- QtDesigner:功能强大的界面绘制工具,生成后缀名为ui的文件
- UitoPy,将第一步生成的ui文件转化为Pycharm可用的py文件
- pyrcc,用于将资源文件(比如图标图片)转换为binary形式待用
- 打开anaconda prompt命令行工具,用pips安装pyqt5-tools
pip install pyqt5-tools
如果默认地址下载太慢,用如下命令从豆瓣镜像获取该工具pip install PyQt5-tools -i https://pypi.douban.com/simple
- 在Pycharm中将Qtdesigner设置为可以通过Tools->External Tool进行方便地调用。
- 进到Settings-》Tools-》ExternalTools,点击列表上方加号,添加一个外部工具,如下图进行相应设置,其中程序路径一般是位于Anaconda安装路径Anaconda3/Lib下的相应文件夹C:\Users\Administrator\anaconda3\Lib\site-packages\pyqt5_tools\Qt\bin\designer.exe,Working Directory是指你当前项目的文件夹路径,点击右边的加号用宏的方式添加:
注意:如果启动失败,一般是pyqt5和pyqt5-tools的版本兼容性问题,网上有不少方法,试过但都没用,我的解决方案是直接安装如下版本的tools: pip install pyqt5-tools==5.13.0.1.5 -i https://pypi.douban.com/simple
只要能在目录下直接打开designer.exe,不报平台库缺失警告就成功了。 4. 如果还是No qt platform错误,那就把“C:\Users\Administrator\anaconda3\Lib\site-packages\pyqt5_tools\Qt\bin\plugins\platforms”下面的dll全部复制到design.exe同级的platform目录下:
-
这一步完成后,就可以通过菜单栏直接启动QtDesigner了:
-
接下来开始设置ui转py插件,再进settings,进行如下设置: exe路径:C:\Users\Administrator\anaconda3\Scripts\pyuic5.exe 参数设置: F i l e N a m e FileName FileName -o ui_ F i l e N a m e W i t h o u t E x t e n s i o n FileNameWithoutExtension FileNameWithoutExtension.py -x
-
最后是rc资源文件转py: EXE路径:C:\Users\Administrator\anaconda3\Scripts\pyrcc5.exe 参数: F i l e N a m e FileName FileName -o F i l e N a m e W i t h o u t E x t e n s i o n FileNameWithoutExtension FileNameWithoutExtension_rc.py