前言
作者因为工作需要,用python写了一些脚本用于数据处理,UTF-8转换,以及一些我的工作专属脚本,又因为想要偷懒,用爬虫爬取了微软翻译的页面做了一个自己的翻译器,近来突发奇想,想要把各种python写的脚本整合到一起,并写一个GUI应用程序,因此PyQt进入了我的视野。想着用业余时间一点一点摸索,到目前为止算是做的有模有样,现写博客记录下来。
这个GUI程序会分成一个系列更新,把我的UI框架,布局,工程整理,功能编写等等都写出来,包括:利用爬虫爬取微软翻译来做自己的翻译器,图像处理等。
本脚本工具包还在持续更新(部分功能我也还没有完成),目前还没有做完的功能有:做音频数据处理(抓取BLE音频数据包,自动去包头去CRC校验,获取raw data的功能),音频编解码(利用市面上常见开源编解码器对音频数据进行编码或解码,ADPCM,SBC等),后续根据需要和精力,看能不能做音频数据的时域频域转换器等等。都是美好幻想,敬请期待!
因为程序还在不断地完善更新,所以到系列结束时,代码应该就已经更新完成了,到时候我会将代码开源到我的GitHub仓库上,有兴趣的小伙伴可以下载使用或交流学习。本系列文章也会同步更新到我的CSDN博客中,如果小伙伴们觉得本系列对你有帮助,麻烦点个赞与收藏,感激不敬!
环境配置
1.1 Python环境
python下载
python下载网上有许多教程,这里不赘述了,我的编程环境是vscode,创建虚拟环境,
创建虚拟环境
|
|
可以在终端查看包列表
|
|
1.2 PyQt5安装
创建好虚拟环境后先进入虚拟环境,然后在该虚拟环境中下载PyQt5
|
|
下载好qt后可以测试一下是否安装成功
|
|
1.3 Pyinstaller
打包命令:
|
|
-
-n:你程序的名字
-
-i:你应用的图标,如果与程序入口(main)不在同一目录下,则需要给出相应的路径
-
–add-data:链接外部资源,比如图片,图标等资源,该参数分为两个部分,使用“:”(Linux)或“;”(Windows)隔开,前面是打包前该文件的路径,后面是打包后该文件要保存的路径,下面是重点
值得注意的是,pyinstaller在v6.0版本以后,如果没有加入
--onefile
参数,那么打包后会生成一个附带的目录__internal
,打包后你的文件会保存在该目录下,比如:--add-data "res/xx.icon;res/xx.icon"
,那么pyinstaller会在与main.py相同的目录下寻找一个res目录下的xx.icon文件,将其作为外部资源链接到程序中,并在__internal目录下创建一个res目录,存放一个xx.icon文件。如果你使用了--onefile
参数,那么将不会创建__internal目录,res目录将会创建在与exe文件相同的目录下。GitHub上有对该问题的解释:Regression:datas
moved to_internal
in pyinstaller 6.1.0. pyinstaller 5.13.1 putsdatas
in correct directory · Issue #8075 · pyinstaller/pyinstaller切记切记这一点,因为这影响到你程序中调用资源文件时该如何填写路径,如果还没弄懂没有关系,后面会在代码中详细解释
-
-w:此参数用于创建不显示命令行窗口的GUI程序,即:避免应用程序运行时弹出命令行窗口
-
main.py:程序入口
如果你在使用 -i 命令时遇到来了以下报错:
|
|
说明你使用的图标文件格式不正确,只有exe或ico格式的图像才可以用作图标。如果系统无法识别你的ico或你只有jpg或png等格式的图标,可以安装pillow,它会为你解决一切
|
|
那么到此为止,你做好了开发PyQt的前置工作