Featured image of post 基于PyQt开发的脚本集合包(一)

基于PyQt开发的脚本集合包(一)

基于PyQt开发的翻译器,UTF-8转换器,图像处理器,音频处理器等脚本集合包,前言与环境配置

前言

作者因为工作需要,用python写了一些脚本用于数据处理,UTF-8转换,以及一些我的工作专属脚本,又因为想要偷懒,用爬虫爬取了微软翻译的页面做了一个自己的翻译器,近来突发奇想,想要把各种python写的脚本整合到一起,并写一个GUI应用程序,因此PyQt进入了我的视野。想着用业余时间一点一点摸索,到目前为止算是做的有模有样,现写博客记录下来。

这个GUI程序会分成一个系列更新,把我的UI框架,布局,工程整理,功能编写等等都写出来,包括:利用爬虫爬取微软翻译来做自己的翻译器,图像处理等。

本脚本工具包还在持续更新(部分功能我也还没有完成),目前还没有做完的功能有:做音频数据处理(抓取BLE音频数据包,自动去包头去CRC校验,获取raw data的功能),音频编解码(利用市面上常见开源编解码器对音频数据进行编码或解码,ADPCM,SBC等),后续根据需要和精力,看能不能做音频数据的时域频域转换器等等。都是美好幻想,敬请期待!

因为程序还在不断地完善更新,所以到系列结束时,代码应该就已经更新完成了,到时候我会将代码开源到我的GitHub仓库上,有兴趣的小伙伴可以下载使用或交流学习。本系列文章也会同步更新到我的CSDN博客中,如果小伙伴们觉得本系列对你有帮助,麻烦点个赞与收藏,感激不敬!

环境配置

1.1 Python环境

python下载

python下载网上有许多教程,这里不赘述了,我的编程环境是vscode,创建虚拟环境,

创建虚拟环境

1
python -m venv  myPyQt     #创建虚拟环境,命名为myPyQt

可以在终端查看包列表

1
2
pip list
# 看列表中是否有PyQt5相关的包

1.2 PyQt5安装

创建好虚拟环境后先进入虚拟环境,然后在该虚拟环境中下载PyQt5

1
pip install PyQt5 -i https://pypi.tuna.tsinghua.edu.cn/simple   # -i + 地址 为从国内镜像网站下载,提升下载速度

下载好qt后可以测试一下是否安装成功

1
2
3
from PyQt5.QtCore import *
print(QT_VERSION_STR)
# 如果没有报错,则说明安装成功

1.3 Pyinstaller

打包命令:

1
pyinstaller -n yourProgramName -i icon/path/icon.ico --add-data "path/xxx.png;." --add-data "CanAddLotData.ico;path/in/__interval" -w main.py
  • -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 puts datas in correct directory · Issue #8075 · pyinstaller/pyinstaller

    切记切记这一点,因为这影响到你程序中调用资源文件时该如何填写路径,如果还没弄懂没有关系,后面会在代码中详细解释

  • -w:此参数用于创建不显示命令行窗口的GUI程序,即:避免应用程序运行时弹出命令行窗口

  • main.py:程序入口

如果你在使用 -i 命令时遇到来了以下报错:

1
Received icon image 'D:\python\MyScriptTools\src\icon.ico' which exists but is not in the correct format. On this platform, only ('exe', 'ico') images may be used as icons. If Pillow is installed, automatic conversion will be attempted. Please install Pillow or convert your 'ico' file to one of ('exe', 'ico') and try again.

说明你使用的图标文件格式不正确,只有exe或ico格式的图像才可以用作图标。如果系统无法识别你的ico或你只有jpg或png等格式的图标,可以安装pillow,它会为你解决一切

1
pip install pillow

那么到此为止,你做好了开发PyQt的前置工作

written by LyricalWander
使用 Hugo 构建
主题 StackJimmy 设计