一、概述

在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中图像资源的使用及资源文件的管理的更多相关文章

  1. PyQt(Python+Qt)学习随笔:Designer中的QDialogButtonBox的按钮改变缺省文字的方法

    在Qt Designer中可以预先定义标准按钮,相关支持的标准按钮请见<PyQt(Python+Qt)学习随笔:Designer中的QDialogButtonBox的StandardButton ...

  2. PyQt(Python+Qt)学习随笔:Designer中的QDialogButtonBox增加自定义按钮的方法

    在Qt Designer中可以预先定义标准按钮,相关支持的标准按钮请见<PyQt(Python+Qt)学习随笔:Designer中的QDialogButtonBox的StandardButton ...

  3. PyQt(Python+Qt)学习随笔:Designer中QDialogButtonBox确认clicked信号是哪个按钮发送的方法

    一.引言 QDialogButtonBox本身只提供4种信号,分别是accepted.rejected.clicked和helpRequested,在<PyQt(Python+Qt)学习随笔:D ...

  4. PyQt(Python+Qt)学习随笔:Designer中的QDialogButtonBox的StandardButtons标准按钮

    在Qt Designer中,可以在界面中使用QDialogButtonBox来配置一组按钮进行操作,Qt中为QDialogButtonBox定义了一组常用的标准按钮,可以在Designer中直接在St ...

  5. PyQt(Python+Qt)学习随笔:Designer中的QDialogButtonBox的clicked信号参数QAbstractButton *解决办法

    一.引言 QDialogButtonBox本身只提供4种信号,分别是accepted.rejected.clicked和helpRequested,在<PyQt(Python+Qt)学习随笔:D ...

  6. PyQt(Python+Qt)学习随笔:Designer中的QDialogButtonBox的ButtonRole详解

    一.引言 在Designer中创建的QDialogButtonBox对应的Button,都有指定的ButtonRole,而我们创建自定义的Button加入到QDialogButtonBox中去时,也需 ...

  7. PyQt(Python+Qt)学习随笔:Designer中的QDialogButtonBox的orientation和centerButtons属性

    orientation属性 orientation属性表示QDialogButtonBox的方向,缺省情况下,方向为水平方向(值为Qt.Horizontal),表示QDialogButtonBox中的 ...

  8. PyQt(Python+Qt)学习随笔:Designer中属性设置界面的属性字体使用粗黑体的含义

    老猿Python博文目录 老猿Python博客地址 使用了好几个月的Designer,今天才发现属性编辑界面的属性名有的为粗而黑,有的则不是,如图: 稍微测试了一下,发现是对属性值进行过调整,不再是缺 ...

  9. PyQt(Python+Qt)学习随笔:Designer中ItemViews类部件frameShape属性

    老猿Python博文目录 老猿Python博客地址 frameShape属性是从QFrame继承的属性,对应类型为QFrame.Shape,该属性表示框架样式中的框架形状,有如下取值: 老猿Pytho ...

  10. PyQt(Python+Qt)学习随笔:Designer中PushButton按钮default、atuoDefault属性

    引言 1.default.atuoDefault属性仅在父窗口为对话窗才生效,其他窗口类型设置这两个属性没有意义: 2.按钮的按压触发除了鼠标键之外,也可以使用回车键和空格键触发,这两个属性正是控制回 ...

随机推荐

  1. CentOS7下一键小白搭建seafile pro云盘

    搭建前准备工作 vps或者云服务器,个人搭建使用建议腾讯云,公司搭建使用建议阿里云. 没有服务器的小伙伴可以下面链接进入看下,腾讯云的配置带宽会比阿里云的好点. 阿里云新人优惠服务器 腾讯云云上特惠 ...

  2. javascript播放带透明通道的mp4动画

    随着互联网的发展,动画效果也在一直更新,从刚开始的flsh动画,cocos骨骼动画,到YY开源的svga动画.最近1年来,带有透明通道的mp4动画被使用的极为广泛,对于app端.github上有开源的 ...

  3. C++ 数据结构 4:排序

    1 基本概念 1.1 定义 排序是计算机内经常进行的一种操作,其目的是将一组"无序"的数据元素调整为"有序"的数据元素. 1.2 数学定义 假设含n个数据元素的 ...

  4. 百度开源插件echarts介绍及如何使用

    前言 如果你想要用较少的代码实现比较酷炫的数据统计表,echarts是值得你考虑的一种实现方式.官网提供了很多实例供参考:http://echarts.baidu.com/examples.html. ...

  5. tp3.2 前端截取字符串

    在Common目录中建立 function.php <?php function subtext($text, $length) { if(mb_strlen($text, 'utf8') &g ...

  6. 微服务接口设计(RESTful规范)

    微服务的接口设计(RESTful规范) 基本知识 URI:在RESTful架构中,每个URI代表一种资源 URI规范: 不用大写 用中杠-,不用下划线_ 路径中不能有动词,只能有名词 名词表示资源集合 ...

  7. JAVA基础之接口与内部类

    接口与内部类 目录 接口与内部类 1. Lambda表达式 1. 关于懒计算 2. Predicate接口 3. 关于方法引用 4. 关于构造器引用 5. 关于变量的作用域 2. 内部类 1. 局部内 ...

  8. 1. 线性DP 300. 最长上升子序列 (LIS)

    最经典单串: 300. 最长上升子序列 (LIS) https://leetcode-cn.com/problems/longest-increasing-subsequence/submission ...

  9. Quirc二维码识别模块

    背景 师兄要用这个参加集赛,但是说自己C语言不太行,花了一个多小时帮他分析了一下(虽然自己也不太行). 对应模块的GitHub地址:https://github.com/dlbeer/quirc. 记 ...

  10. pytorch框架对RTX 2080Ti RTX 3090的支持与性能测试

    时间点:202011-18 一.背景 2020年9月nvidia发布了30系列的显卡.比起20系列网上的评价是:性能翻倍,价格减半. 最近正好本人手上有RTX 2080Ti 和 RTX 3090,所以 ...