PyQt5 UI设计时自动创建qrc文件

Posted 蚂蚁小兵

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PyQt5 UI设计时自动创建qrc文件相关的知识,希望对你有一定的参考价值。

🌎前言

  • 🍅写了个小脚本,方便PyQt开发时,qrc文件的自动创建

  • 🌳测试软硬件环境:
    Win10 X64
    Python 3.8 X64
    PyQt5 5.16.5

文章目录


🌎手动新建qrc文件

  • 1️⃣ 我们在用PyQt5 Designer 去设计UI的时候,会想给控件加上小图标
  • 熟悉Pyqt5图标操作的,可直接看下一个一级标题


  • 2️⃣ 选择icon文件建议选择 Choose Resource,这样打包的时候可以不用考虑原图的路径问题,也不需要拷贝进来


  • 3️⃣ 新建一个 photo2.qrc 文件


  • 4️⃣ 然后先创建两个分组,再在每个分组里面添加两个原图标文件,保存即可


  • 5️⃣ photo2.qrc的内容如下


  • 6️⃣ 如果已经有qrc文件,可以直接添加进来


  • 7️⃣以下时实际工程为例,点击photo.qrc 然后再pycharm 中将qrc文件转为py文件
  • 这里不会添加外部工具的可以参考下一步骤


  • 如果pycharm不会添加外部工具,参考这一步骤
  • $FileName$ -o $FileNameWithoutExtension$.py
  • $FileDir$


  • 如果没有使用pycharm ,也可以将路径切到当前工程下,执行如下cmd


  • 8️⃣在我们将parse.ui文件转为 py文件后,再添加一句 import photo
  • 这样就把图标的源文件转为py文件内容,这样打包时,就不需要再考虑原图标文件了


🌎自动创建qrc文件

  • 1️⃣ 这是本章博客的重点,手动创建qrc有点麻烦,那就自动创建吧
  • 下面是py 源码:搜索当前工程根目录下的所有ico 文件,然后生成qrc文件
  • 再执行os.popen("pyrcc5.exe photo.qrc -o photo.py") 自动生成py文件
import os
cu = os.path.dirname(os.path.realpath(__file__))
print(cu)
def file_name(file_dir):
    L = []
    for root, dirs, files in os.walk(file_dir):
        for file in files:
            if os.path.splitext(file)[1] == '.ico':
                L.append(os.path.join(root, file))
    return L

files = file_name(cu)
print(files)
temp_str=''
for i in files:
    tem = i.split("\\\\")
    temp_str = temp_str + "\\n" + '''    <file>/</file>'''.format(tem[-2],tem[-1])
    
temp_str ='''<RCC>
  <qresource prefix="picture">
    %s
  </qresource>
</RCC>
'''%temp_str
print(temp_str)

with open("photo.qrc",'w') as f:
    f.write(temp_str)

os.popen("pyrcc5.exe photo.qrc -o photo.py")



  • 2️⃣ 执行collect .py 就直接自动生成了photo.qrcphoto.py 文件


🌎总结

  • 要有最朴素的生活,最遥远的梦想,即使明天天寒地冻,路遥马亡!
  • 如果这篇博客对你有帮助,请 “点赞” “评论”“收藏”一键三连 哦!码字不易,大家的支持就是我坚持下去的动力。

以上是关于PyQt5 UI设计时自动创建qrc文件的主要内容,如果未能解决你的问题,请参考以下文章

vs2010中修改*.ui文件、替换图片后,不重新生成qrc_*.cpp

PyQt5——加载资源文件

PyQt5 图形处理 - Qt Designer创建qrc资源文件引用图片资源实例演示,QTextBrower组件引用图片资源方法展示

python学生管理系统(pyqt5 含界面)

python学生管理系统(pyqt5 含界面)

python学生管理系统(pyqt5 含界面)