解决更新resource.qrc之后新的资源无法加载的问题
- 问题
- 原因
- 解决方法
问题
在使用pyQT或者pyside开发桌面程序的时候,resource.qrc是整合资源文件的地方,如下所示
<!DOCTYPE RCC><RCC version="1.0">
<qresource><file>images/fig1.png</file>
</qresource>
</RCC>
但是如果有新的文件添加进来,需要在resource.qrc中添加对应的文件:
<!DOCTYPE RCC><RCC version="1.0">
<qresource><file>images/fig1.png</file><file>images/fig2.png</file>
</qresource>
</RCC>
但是运行程序之后,发现fig2.png无法加载,但是fig1.png是可以正常加载的。
原因
在使用 resource.qrc 文件管理资源时,如果添加了新的资源文件但在运行 Python 代码时仍然无法加载这些新资源,因为没有更新 resource.py文件。添加了新的资源但没有重新生成这个文件,Python 代码将无法找到新的资源。
解决方法
如果用pyside6开发,使用pyside6-rcc工具来重新生成resource.py文件。定位到resource.qrc文件目录,然后运行代码:
pyside6-rcc resource.qrc -o resource.py
如果用pyQT开发,使用工具来重新生成resource.py文件。定位到resource.qrc文件目录,然后运行代码:
pyrcc5 resource.qrc -o resource.py