PyQt(Python+Qt)学习随笔:Qt Designer中图像资源的使用及资源文件的管理
一、概述
在Qt Designer中要使用图片资源有三种方法:通过图像文件指定、通过资源文件指定、通过theme主题方式指定,对应的设置界面在需要指定图像的属性栏如windowIcon中通过点击属性设置栏的倒三角按钮触发,如下图:

通过主题方式指定图像老猿还没有弄明白,暂时也没准备去研究。在这里介绍前2种方法。
二、指定图像文件作为资源
选择上图弹窗的“Choose File”就可以选定一个图片文件作为资源,图片文件包括图像格式(.bmp、.jpg、.gif等大多数图像格式文件)或者按钮图像格式(.ico)。如下图设定“播放.ico”作为应用窗口的图标:

指定后指定文件被作为Normal off 状态的图标,并自动计算得出其他状态的图标,当然也可以单独设定某种状态的图标为其他图像文件。
三、通过资源文件指定对应资源作为部件的资源
除了指定图像文件作为资源外,Qt Designer还支持将所有图像资源属性保存到资源文件中,再在部件属性设置时从资源文件中选择资源。
3.1 新建资源文件
通过部件的图像资源属性设置时选择从资源文件(Choose Resource)选取资源时,会弹出如下对话窗:

点击上图中的铅笔型Edit Resources按钮,进入资源编辑界面,如下图:

点击蓝色标记按钮新建一个资源文件如“测试资源”,命名保存到开发者指定的目录,保存后如图:

点击上图蓝色标记的Add Prefix按钮,新建对应的资源前缀或路径,这可以认为是应用需要用到的一个资源目录,具体名字根据自己规划的资源来命名,如要建一个图像资源目录img和一个ico资源目录,可以如下图这种命名:

点击上图蓝色标记的Add Files按钮,将不同的图形或按钮文件添加到对应的目录下,如图:


点击OK保存资源文件。这就完成了资源文件的编辑。
3.2 从资源文件引用资源设置部件的资源属性
在部件属性设置的界面,点击Choose Resource从资源文件选取资源,如图:

上图中选择了add.png图像文件作为windowIcon,点击ok保存,此时属性界面如图:

3.3 使用Pyrcc将资源文件转成py文件
保存UI界面,然后进入Pycharm界面,可见工程文件情况如下图:

资源文件保存到了工程中,然后选中资源文件,鼠标右键调出《第15.6节 PyQt5安装与配置》配置的Pyrcc进行资源转py文件处理。如图:

转换成功后工程文件多了如下图黄色标记的py文件。

3.4 将UI文件转换成Py文件
转换后会在UI生成的py文件中最后部分自动import资源转换的py文件。
这样在PyQt中使用资源文件设置图像属性的资源过程就完成了,如果直接将属性设置为图像文件则无需这样复杂,但可能加载慢一点、管理不好管理。
博客地址:https://blog.csdn.net/LaoYuanPython
老猿Python博客文章目录:https://blog.csdn.net/LaoYuanPython/article/details/98245036
PyQt(Python+Qt)学习随笔:Qt Designer中图像资源的使用及资源文件的管理的更多相关文章
- PyQt(Python+Qt)学习随笔:Designer中的QDialogButtonBox的按钮改变缺省文字的方法
在Qt Designer中可以预先定义标准按钮,相关支持的标准按钮请见<PyQt(Python+Qt)学习随笔:Designer中的QDialogButtonBox的StandardButton ...
- PyQt(Python+Qt)学习随笔:Designer中的QDialogButtonBox增加自定义按钮的方法
在Qt Designer中可以预先定义标准按钮,相关支持的标准按钮请见<PyQt(Python+Qt)学习随笔:Designer中的QDialogButtonBox的StandardButton ...
- PyQt(Python+Qt)学习随笔:Designer中QDialogButtonBox确认clicked信号是哪个按钮发送的方法
一.引言 QDialogButtonBox本身只提供4种信号,分别是accepted.rejected.clicked和helpRequested,在<PyQt(Python+Qt)学习随笔:D ...
- PyQt(Python+Qt)学习随笔:Designer中的QDialogButtonBox的StandardButtons标准按钮
在Qt Designer中,可以在界面中使用QDialogButtonBox来配置一组按钮进行操作,Qt中为QDialogButtonBox定义了一组常用的标准按钮,可以在Designer中直接在St ...
- PyQt(Python+Qt)学习随笔:Designer中的QDialogButtonBox的clicked信号参数QAbstractButton *解决办法
一.引言 QDialogButtonBox本身只提供4种信号,分别是accepted.rejected.clicked和helpRequested,在<PyQt(Python+Qt)学习随笔:D ...
- PyQt(Python+Qt)学习随笔:Designer中的QDialogButtonBox的ButtonRole详解
一.引言 在Designer中创建的QDialogButtonBox对应的Button,都有指定的ButtonRole,而我们创建自定义的Button加入到QDialogButtonBox中去时,也需 ...
- PyQt(Python+Qt)学习随笔:Designer中的QDialogButtonBox的orientation和centerButtons属性
orientation属性 orientation属性表示QDialogButtonBox的方向,缺省情况下,方向为水平方向(值为Qt.Horizontal),表示QDialogButtonBox中的 ...
- PyQt(Python+Qt)学习随笔:Designer中属性设置界面的属性字体使用粗黑体的含义
老猿Python博文目录 老猿Python博客地址 使用了好几个月的Designer,今天才发现属性编辑界面的属性名有的为粗而黑,有的则不是,如图: 稍微测试了一下,发现是对属性值进行过调整,不再是缺 ...
- PyQt(Python+Qt)学习随笔:Designer中ItemViews类部件frameShape属性
老猿Python博文目录 老猿Python博客地址 frameShape属性是从QFrame继承的属性,对应类型为QFrame.Shape,该属性表示框架样式中的框架形状,有如下取值: 老猿Pytho ...
- PyQt(Python+Qt)学习随笔:Designer中PushButton按钮default、atuoDefault属性
引言 1.default.atuoDefault属性仅在父窗口为对话窗才生效,其他窗口类型设置这两个属性没有意义: 2.按钮的按压触发除了鼠标键之外,也可以使用回车键和空格键触发,这两个属性正是控制回 ...
随机推荐
- 论文解读 - Composition Based Multi Relational Graph Convolutional Networks
1 简介 随着图卷积神经网络在近年来的不断发展,其对于图结构数据的建模能力愈发强大.然而现阶段的工作大多针对简单无向图或者异质图的表示学习,对图中边存在方向和类型的特殊图----多关系图(Multi- ...
- tp3.2 php sdk上传七牛云
//获取上传token Vendor('sdk.autoload'); $accessKey='********'; $secretKey='*******'; $auth=new \Qiniu\Au ...
- 21迁移python项目到另一台电脑
在虚拟环境中将第三方库打包到一个TXT文件:1,在项目保存在项目所在目录,文件可以自定义.pip freeze> requirements.txt命令2,将requirements.txt放入另 ...
- 判断机器是big-endian、little-endian
联合体union和大小端(big-endian.little-endian):下边示范了一种用途,代表四个含义的四个变量,但是可以用一个int来操作,直接int赋值,无论内存访问(指针大小的整数倍,访 ...
- 异常记录-Gradle依赖掉坑之旅
前言 最近在项目中遇到了一个问题,死活拉不下来依赖,耗费了一整天,感觉自己真是菜的抠脚. 没想到今天脑子一清醒,刷刷的问题逐个击破了. 问题描述: 项目成员添加了新的依赖,然后我这边项目拉下来,bui ...
- 8.java设计模式之装饰者模式
基本需求: 咖啡的种类有很多种,调料也有很多种,下单时,可以点单品咖啡也可以点单品咖啡+调料的组合,并计算下单时花费的金额 传统方式: 方式一 创建一个抽象类Drink,让所有的单品咖啡和组合咖啡都继 ...
- xenserver使用ceph的rbd的方法
首先安装的xenserver6.5的环境,看到有地方有提到这个上面可以安装rbd的支持,网上有一种方式是libvirt+kvm方式,因为ceph对libviet是原生支持的,但是xenserver底层 ...
- Python_爬虫_百度图片
百度图片有些有编码问题,暂时不能爬取,多试几个 #思路:抓取图片地址,根据地址转存图片(注意名称):难点:转码 # -*- coding:utf-8 -*- from urllib import re ...
- DockerPush
1.阿里云镜像发布流程 2.镜像生成 语法:docker commit [OPTIONS] 容器ID [REPOSITORY[:TAG]] [root@pluto data]# docker imag ...
- DDBNet:Anchor-free新训练方法,边粒度IoU计算以及更准确的正负样本 | ECCV 2020
论文针对当前anchor-free目标检测算法的问题提出了DDBNet,该算法对预测框进行更准确地评估,包括正负样本以及IoU的判断.DDBNet的创新点主要在于box分解和重组模块(D&R) ...