基于深度学习的视觉检测小项目(十三) 资源文件的生成和调用
在使用 PySide6 进行开发时,管理应用程序的资源(如图标、图片、字体、样式表、音视频等)是一个常见的任务。PySide6 提供了一个工具 pyside6-rcc,它能够将资源文件(.qrc)编译成 Python 模块,然后在程序中加载和使用。
基础知识:PySide6的资源文件(.qrc 文件)简介以及RCC工具-CSDN博客
这里在本项目中来演示一下资源文件的生成和调用。
designer中的部分:
• 在项目的UI_proj下新建目录:/SRC
• 将logo.png文件移动到/SRC下:
• 在designer中新建资源文件:SRC.qrc,同样存储在项目的/SRC下:
• 添加前缀:logos:
• 添加文件: logo.png
• 在项目的start_up.ui画面的label_logo鼠标右键“改变样式表”:
• 在样式表中输入:
QLabel{},在花括号中间点“添加资源-->image”,然后从资源选择窗口选择logo.png图像文件。
• 样式表中的内容:
• 在designer中可以预览图像的显示效果:
在脚本中使用图像资源:
上面在designer中新建了资源文件,并且使用了资源文件中的图像文件,在使用中还要一些步骤,才能正常显示图像。
• 转换资源文件:
在pycharm中,SRC.qrc文件,鼠标右键-->外挂工具-->PyRCC,使用RCC工具把SRC.qrc转换成.py文件。如果你没有配置外挂工具,参见:基于深度学习的视觉检测小项目(二) 环境和框架搭建_a module that was compiled using nu-CSDN博客
可以看到,RCC工具将把SRC.qrc转换成了SRC_rc.py文件,并存储在了同目录下。
• 使用uic工具将.ui文件转为.py文件,方法前面已有,不再赘述。
• 将SRC_rc.py文件和start_up.py文件拷贝至项目的/tmp目录下。
• 编写脚本并导入和使用资源文件: tmp.py
from PySide6.QtWidgets import QWidget, QApplication
import start_up # 导入使用uis工具从start_up.ui生成而来的start_up.py文件
import SRC_rc # 导入资源文件
# 定义窗口类
class FormStart_up(QWidget, start_up.Ui_form_base):
def __init__(self):
super().__init__()
self.setupUi(self) # 加载窗口
self.run() # 初始化运行窗口
def run(self): # 窗口的运行函数
self.show() # 显示窗口
if __name__ == "__main__":
import sys
app = QApplication(sys.argv)
form = FormStart_up()
sys.exit(app.exec())
运行截图:
正常显示了资源文件的图像。