PyQt5资源处理

再PyQt进行图形界面开发时不免要用到一些图片资源或者qt designer编辑的ui文件。在app进行打包发布的时候,通常图片资源却不方便处理,app安装的时候还必须确保app可以找到图片。qt官方提供了一个工具可以把资源文件编译成二进制程序文件,直接打包到程序中去。

1.将ui文件编译为py文件

例如资源文件 mian_windows.ui 输入以下命令:

python3 -m PyQt5.uic.pyuic main_windows.ui -o mian_windows.py 
或者
pyuic5 main_windows.ui -o mian_windows.py 

ui文件被转换为ui文件,这是pyqt程序要能够运行所必须的

2.将图片资源编译为py文件

例如存在图片 a.png 和 b.png 都位于 ./img/ 路径下面,在 ./ 下新建一个文件 img_rcc.qrc 文件,输入以下内容:

 
 
    ./img/a.png
    ./img/b.png
  

alias的值是图片的代码里的文件名代号,prefix是文件名前缀

然后在终端里输入以下命令将img_rcc.qrc 转换为py文件:

pyrcc5 img_rcc.qrc -o img.py 

生成了img.py 文件,观察img.py文件会发现,图片资源被转换为了bytes类型放在py文件里。
使用方法如下:

from img.py import * # 导入这个文件,会自动调用资源初始化函数

# 使用资源的时候 访问的文件名 即 qrc里的 :prefix+alias ,例如
img = QPixmap(":/img/a.png")

3.PyCharm扩展工具设置

启动 Pycharm 进入 Setting ,找到 Tools->External Tools 点击上面的加号添加

  • 设置添加pyuic如下图
PyQt5资源处理_第1张图片
Paste_Image.png
  • 设置添加 pyrcc 如下图
PyQt5资源处理_第2张图片
Paste_Image.png

这样,使用的时候就直接在pycharm里右键转换了

你可能感兴趣的:(PyQt5资源处理)