PyQt5安装与基本使用

安装

windows

1
pip install PyQt5

但是安装完毕会出现ImportError: DLL load failed: 找不到指定的模块的错误提示,这是因为通过Anaconda安装的Python缺少了python3.dll,可以通过去python.org下载相应的 Windows x86-64 embeddable zip file压缩文件,从中拷贝python3.dll文件,粘贴到Anaconda安装目录下,也就是python36.dll所在的目录下,一般就是第一层目录,例如我这里就是D:\Anaconda3目录下

Qt Designer的使用

为了使用Qt Designer

1
pip install PyQt5-tools

安装完毕后,在路径D:\Anaconda3\Lib\site-packages\pyqt5_tools下面有designer.exe软件。

打开Pycharm,找到file->Settings->tools->external tools,点击+号,Name填入QtDesigner(方便后续使用,名称无所谓)。Program选择我们安装的PyQt5-tools下面的designer.exe,这里为D:\Anaconda3\Lib\site-packages\pyqt5_tools\designer.exe。Working directory则选择我们的工作目录,这里为。然后点击OK,则添加了QtDesigner作为PyCharm的外置工具。如下图所示

然后添加PyUIC(UI转换工具),PyUIC的Program为在Python的安装目录下面的Scripts目录下的pyuic5.exe,即D:\Anaconda3\python.exe,Working directory同理设为我们的工作目录,这里为,Arguments则填入如下代码:

1
-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py

如下图所示

使用的时候,要选中*.ui文件,然后点击PyUIC

最后添加pyrcc用于PyQt5的资源文件转码,Program为在Python的安装目录下面的Scripts目录下的pyrcc5.exe,即D:\Anaconda3\Scripts\pyrcc5.exe,Working directory同理设为我们的工作目录,这里为,Arguments填入:

1
$FileName$ -o $FileNameWithoutExtension$_rc.py

如下如所示:

退出之前,点击Apply保存配置。配置完成之后,PyCharm中会加入3个工具。

点击QtDesigner则打开QtDesigner的界面。

打包

安装pyinstaller

1
pip install pyinstaller

打包:

1
pyinstaller.exe -Fw E:\我的坚果云\Translation\baidu_translation.py

打包好的exe在dist文件夹下,例如我的anaconda在C:\Users\x230w\Anaconda3,打包好的exe放在C:\Users\x230w\dist目录下。

打包报错

打包过程出现了如下错误,

1
2
3
Exception:
Cannot find existing PyQt5 plugin directories
Paths checked: C:/qt5b/qt_1524647842210/_h_env/Library/plugins

解决方法为:首先新建上面报错的目录mkdir C:\qt5b\qt_1524647842210\_h_env\Library\plugins,然后搜索pyqt5.dll,pyqt5qmlplugin.dll,放到上述路径中,在我的电脑中,pyqt5.dll路径为C:\Users\x230w\Anaconda3\Library\plugins\designer,而pyqt5qmlplugin.dllC:\Users\x230w\Anaconda3\Library\plugins\PyQt5

运行报错

打包完,运行exe报错。

第一种方案是:查看build文件夹下的报错文件,在这里我的路径为C:\Users\x230w\build\baidu_translation下的warn-baidu_translation.txt,看里面的报错信息。

第二种方案是:使用-c命令替换-w命令,可以将生成的exe文件打开方式为控制台打开。然后打开cmd,拖程序到cmd中,执行即可查看报错信息。

顺便说一下几个参数的作用:

  • -F:是直接生成单独的exe文件,不附带各种依赖文件的。
  • -c:生成的exe文件打开方式为控制台打开。
  • -w:这个和上面的-c对应,如果你的程序是有ui的,那就用这个-w。这样不会出现控制台,直接是你的ui。
  • -I:给你的exe文件添加一个图标,后面要紧接着你想要的ico文件。
  • -p:后面紧跟着你要指定的模块搜索路径,如果你的模块安装的路径没有被PyInstaller自动检索到的话,就需要自己指定了。
------ 本文结束------
坚持原创技术分享,您的支持将鼓励我继续创作!

欢迎关注我的其它发布渠道