pyqt.qrc图片文件的编写和使用


pyqt图片资源文件的引用

0x00说明:

可以通过qrc文件将我们要用的图片转化成py代码
然后引入到需要用到的地方。
这将有利于将程序打包成exe后图片的正常显示

0x01 编写步骤

  1. 在项目文件夹下加入需要用到的图片
  2. 创建.qrc文件
  3. 编写qrc文件:
    @示例:
<RCC><qresource prefix="icon"><file>保存.png</file><file>打开.png</file><file>上传.png</file><file>平台运行动态.png</file><file>设置.png</file><file>搜索.png</file></qresource>
</RCC>

<qresource prefix="icon">,这里的icon是你为这些图片命名的虚拟文件夹,因为你项目图片并没有放在一个文件夹。
没有建立文件夹的原因是为了在qrc文件中简化编写图片的每一项,进而简化引用
(直接写图片名.图片类型即可直接索引到目标图片),如:<file>保存.png</file>

  1. 将qrc文件转换为py文件

(使用了配置好的External Tool,配置详情:PyCharm中配置与PyQT5相关的External tools)

转换效果(可以看到已经将图片换成了16进制字符串):

6. 图片资源的引用

引用格式:":/虚拟文件夹名/图片"

例:

":/icon/平台运行动态.png"


此时,可以把项目下的图片删除,因为图片全部转换成了代码,已经引用到了需要用到的地方。(此时如果打包成exe,图片也依然能正常显示。)

运行最终效果:

@下面将讲解如何将它打包成exe:

----》见下篇:手把手教你将pyqt程序打包exe(1)

手把手教你pyqt中.qrc图片文件的编写和使用相关推荐

  1. 手把手教你写复制U盘文件神器(二)

    前言:切莫用其干坏事,否则后果自负 今天我们来聊聊如何将文件上传至服务器. 首先,需要前面(文章一)的代码为基础,在此基础上传文件.为了节省篇幅,在这我贴出改动的代码. 为了方便程序的通用性,在同级目 ...

  2. 手把手教你写复制U盘文件神器(一)

    前言:切莫用其干坏事,否则后果自负 我们废话少说,直接上代码,且代码都有关键注释 const fs = require("fs")let dir = "E:" ...

  3. python pdf删除图片_使用PyMuPdf提取、删除及替换PDF中的图片文件

    有时候想把PDF中的图片文件提取出来,身为程序员的我当然是自己写段代码来实现,先看看了网上的方法,都是逐行遍历,正则匹配来提取什么的,其实没有那么复杂,PyMuPdf官方文档里自带就有提取图片文件的方 ...

  4. Excel插件,按条件从文件夹中筛选图片文件

    按条件从文件夹中筛选图片文件 E灵,动画教材: 按条件从文件夹中筛选图片文件

  5. android 读取mysql中的图片_Android 通过API获取数据库中的图片文件方式

    Overview 今天复习了一下Android 如何将我们数据库中图片获取出来,并且将其转换为bitmap进行显示. 开发环境以及技术 使用Visual Studio 2019 Android Stu ...

  6. 手把手教你solidworks中的齿轮配合

    手把手教你solidworks中的齿轮配合 1.建立装配图,在装配体中导入两个齿轮. 2.把齿轮1固定改为浮动 3.如下图所示选中隐藏/显示主要基准面. 4.选中上视基准面和右视基准面,点击参考面之下 ...

  7. 处理Session中的图片文件

    处理Session中的图片文件 开发工具与关键技术:Visual Studio 2015 处理Session中文件 作者:李国旭 撰写时间:2019年4月1日 前段时间学习了关于如何修改里面的上传附件 ...

  8. 使用PyMuPdf提取、删除及替换PDF中的图片文件

    有时候想把PDF中的图片文件提取出来,身为程序员的我当然是自己写段代码来实现,先看看了网上的方法,都是逐行遍历,正则匹配来提取什么的,其实没有那么复杂,PyMuPdf官方文档里自带就有提取图片文件的方 ...

  9. Cacti 插件中setup.php 文件的编写

    Cacti 插件中setup.php 文件的编写 名词: 初始化函数   预定义函数  cacti 插件存放在 /plugins 目录,由setup.php与cacti 做关联调用; setup.ph ...

最新文章

  1. Java学习总结:17
  2. 循环更新数据库java_java – 无限循环数据库检查
  3. python编程语法-Python学习笔记(Ⅰ)——Python程序结构与基础语法
  4. 多个线程对hashmap进行put操作的异常
  5. P3159 [CQOI2012]交换棋子(费用流)
  6. css预编译其器,CSS预处理器之——Less
  7. [你必须知道的.NET]第二十三回:品味细节,深入.NET的类型构造器
  8. Scrapy学习-25-Scrapyd部署spider
  9. 深度学习篇-Keras(初级)
  10. android开发实例-标准意图方法Intent(二)
  11. php输出源文件,apt-get 按照php7后apache 输出php源文件
  12. Pandas csv 文件,按条件删除行
  13. JScript.NET(JScript 8.0)编程简介
  14. 删除安装的python
  15. Unity ECS 初探
  16. oracle10g 杨忠民,开题报告 基于J2EE的DRP系统设计
  17. 破解有道翻译反爬虫机制
  18. Draft:IPv6 Neighbor Discovery Multicast Address Listener Registration翻译
  19. <<视觉问答>>2022:SwapMix: Diagnosing and Regularizingthe Over-Reliance on Visual Context in VQA
  20. libcef-JavaScript与C++通信-原理与实现-文档原文

热门文章

  1. Centos7 释放内存
  2. html调用js函数_Java Web初学者探索学习笔记10—网络API的js数据接口调用解决方案...
  3. 用循环队列模拟银行窗口排队_银行告诉你什么是无锁队列
  4. Hive 内部表与外部表
  5. Pandas 表格样式设置指南,看这一篇就够了!
  6. 又一款度盘不限速神器!无需登录即可下载
  7. “达观杯”文本智能处理挑战赛,季军带你飞
  8. list可以存放python中任意类型的数据_Python中常见的数据类型小结
  9. 深度学习总结:GAN 和 conditiaoal GAN
  10. spring注解开发:容器中注册组件方式