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
最新文章
- webParts与Web部件
- XIII Open Cup named after E.V. Pankratiev. GP of Ukraine
- POJ 2155 Matrix(二维树状数组+区间更新单点求和)
- CI中PHP写法规范(不断更新)
- 用NativeScript创建JavaScript原生移动应用
- Thread系列——Thread.Sleep(0)
- 模拟键盘输入 : SendMessage, keybd_event, PostKeybdMessage
- jQuery的文档操作方法
- 查看DB文件的空间使用情况
- HTML5周记(二)
- Web自动化之Headless Chrome测试框架集成
- 如何解决svn清理失败 不能更新 cleanup失败 cleanup乱码 更新乱码 svn更新提示清理 清理乱码不能清理 svn故障修复SVN cleanup 陷入死循环 svn cleanup时遇到错误怎么办
- JMeter-性能测试监控(解决.sh文件的启动)
- .Net #if DEBUG调试模式代码使用
- 使用MSF生成shellcode
- mysql的级联复制和多源复制
- 63、使用Timer类来实现定时任务
- 转:MyISAM 和 InnoDB 讲解
- EF调用存储过程查询表中的部分字段,报数据读取器与指定的“AdventureWorksDWModel.Student”不兼容。某个类型为“Age”的成员在同名的数据读取器中没有对应的列。
- Halcon 笔记1
热门文章
- mybatis拦截器 修改mybatis返回结果集中的字段的值
- SQL:获取每个key下最新创建的记录
- CV 履历 格式
- []Spring创建Bean的过程
- UNP——第六章,多路转接IO——select
- rgw的rgw_thread_pool_size配置调整
- spring-boot-starter-parent和spring-boot-dependencies
- webug第三关:你看到了什么?
- ASP.NET Core管道详解[3]: Pipeline = IServer + IHttpApplication
- 工作三年终于社招进字节跳动!字节跳动,阿里,腾讯Java岗面试经验汇总