PyQt中资源文件的使用(详细步骤介绍)

news2024/12/23 10:11:28
新建文件:
在 Qt Creator,选中菜单 File->New File...,选择新建 Qt Resource File。

命名为res.qrc

 在项目文件目录树中,会自动出现 Resources 文件组和 res.qrc 文件

添加资源记录:

在文件 res.qrc 上点击右键,选择 Open In Editor 

新建前缀,前缀的意思就是资源的分组
点 Add Prefix

将前缀改名为/icons,改完可以看到如下界面

 放入Qt下的资源,例如我在Qt下的images文件夹中存放了图标

 添加完后保存:

为属性添加资源记录:

在对象的属性中找到/icon,就可以添加资源了

在Eric中显示窗口

窗体 UI 文件用到了资源文件后,只能在 Qt 目录下进行编译
在 qt 安装目录下寻找 rcc.exe 这个文件。我的在这里:

将相关目录加到 Path
由于后面需要在 dos 下运行 rcc 命令,需要将这个文件所在目录添加到 PATH 环境变量中。
打开 win10 桌面,右键点击“我的电脑”,选择属性
选择右侧的高级系统设置

 点击环境变量:

 点击用户变量下的PATH,然后编辑

添加一个 rcc 命令所在路径

编译窗体文件
在这里,用 pyuic6 来编译窗体文件,用 rcc 来编译资源文件。
注意在 PyQt5,提供了 pyrcc5 这个文件来编译资源文件。但是 PyQt6 取消了这个文件。只
能用 Qt 提供的 rcc 命令来编译。

可以看到,编译之后多了两个 py 文件
拷贝编译后的窗体文件和资源文件
将编译后的两个 py 文件拷贝到 QtApp 外面,Eric 的工作目录中

新建的窗体能不能正常运行?我们新建个文件来运行它。
在 Eric 工作目录下,新建 myWidget.py 文件
import sys
from PvQt6.QtWidgets import OApplication, QWidget
from Ui_Widget import Ui_Widget
class QmyWidget(QWidget):
definit(self,parent=None):
super().__init__(parent)
#调用父类构造函数,创建窗体
self.ui=Ui_Widget()
#创建UI对象
self.ui.setupUi(self)
#构造UI界面
if__name__== "__main__":
#用干当前南体测试
app=QApplication(sys.argv)
#创建GUI应用程序
form=QmyWidget)
#=创建窗体
form.show()
sys.exit(app.exec())

修改res_rc.py:

from PySide6 import QtCore

为 from PyQt6 import QtCore

 修改Ui_Widget.py:

添加 import res_rc

运行该文件,就可以正常显示图标了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/715801.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

靶场DVWA未授权访问导致的RCE

1漏洞地址&#xff1a; http://xxxx.vom/vulnerabilities/exec/source/low.php 2漏洞原因&#xff1a; 命令执行直接拼接 3漏洞验证 linux写入phpinfo(); 到hackable/uploads/目录&#xff08;也可以直接写在当前目录&#xff09; 明文内容&#xff1a; 1&echo “<…

LeViT-UNet:transformer 编码器和CNN解码器的有效整合

levi - unet[2]是一种新的医学图像分割架构&#xff0c;它使用transformer 作为编码器&#xff0c;这使得它能够更有效地学习远程依赖关系。levi - unet[2]比传统的U-Nets更快&#xff0c;同时仍然实现了最先进的分割性能。 levi - unet[2]在几个具有挑战性的医学图像分割基准…

如何删除Linux下乱码文件

第一、使用 ls -i 命令获取文件的节点&#xff0c;如下图所示 第二、执行 find -inum 节点号 -delete 命令 删除成功。红色得就是节点号。

stm32烧录hal库固件后keil检测不到芯片,无法下载,但是按着复位键能下载和检测到芯片

keil检测不到芯片的原因有很多&#xff0c;我的原因是没有在stm32cubemx中配置下载方式 请检查stm32cubemx是否配置下载方式&#xff0c;我这里使用jlink的SWD模式进行下载&#xff0c;所以配置如下&#xff1a; 配置好后重新下载代码就可以检测到芯片了

浅析JS中变量前面的加号 + 的含义

javascript 中经常会看到在变量前面有个加号 &#xff0c;它有什么用处呢&#xff1f;其实很简单&#xff0c;就是把变量转换成 number 类型&#xff08;另外&#xff0c;变量 - 0 也是把变量的值转为数值的一种写法&#xff09;。话不多说&#xff0c;我们先看下面的几个例子…

MySQL数据库汇总

MySQL数据库必须掌握的知识点汇总 文章目录 1、三大范式2、DML 语句和 DDL 语句区别3、主键和外键的区别4、drop、delete、truncate 区别5、基础架构6、MyISAM 和 InnoDB 有什么区别&#xff1f;7、推荐自增id作为主键问题8、为什么 MySQL 的自增主键不连续9、redo log 是做什么…

Android Binder通信原理(八):IPC权限控制

源码基于&#xff1a;Android R 0. 前言 在之前的几篇博文中&#xff0c;对Android binder 的通信原理进行的深入的剖析&#xff0c;这些博文包括&#xff1a;binder 简介、servicemanager启动、service注册、service获取、Java 端的service 注册和获取、native下的C-S、java …

《QDebug 2023年6月》

一、Qt Widgets 问题交流 二、Qt Quick 问题交流 1.Qt5 的 QML Settings 没有设置编码的接口 Qt6 虽然移除了 QSettings 的 setIniCodec 接口&#xff0c;默认为 utf8&#xff0c;但是 Qt5 这个接口还能用&#xff0c;且没有默认 utf8。这就导致用 Qt5 QML 的 Settings 没法…

MAYA传送带上放石头(新旧粒子系统)

播放试试 使用老的粒子系统 particleShape1.shuliangrand(0,5); particleShape1.daxiao<<rand(0.2,0.5),rand(0.2,0.5),rand(0.2,0.5)>>; particleShape1.xuanzhuan<<rand(360),rand(360),rand(360)>>; 使用新的粒子系统 粒子向后滑落 新粒子系统能进行…

桥梁结构健康监测方案

一、方案背景 随着国民经济的快速发展&#xff0c;我国的基础设施建设得到蓬勃发展。桥梁作为国民生命财产安全的生命线&#xff0c;关系到国民经济和人民生活的可持续发展。在桥梁的长期运营过程中&#xff0c;存在施工缺陷、材料老化、自然环境以及荷载作用等原因造成桥梁结…

【Vue3】学习笔记-shallowReactive与ShallowRef

shallowReactive&#xff1a;只处理对象最外层属性的响应式&#xff08;浅响应式&#xff09;。 shallowRef&#xff1a;只处理基本数据类型的响应式, 不进行对象的响应式处理。 什么时候使用? 如果有一个对象数据&#xff0c;结构比较深, 但变化时只是外层属性变化 > sh…

【笔记】华南理工大学-智能计算方法 考试重点笔记 [非常详细]

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhang.cn] 目录 大纲 主观题 简答题 大纲 主观题 大题&#xff0c;40分&#xff0c;智能计算与自己专业方向结合&#xff0c;思路、图、公式等均可。 简答题

C/C++服务器和客户端交互笔记

C/C服务器开发 网络与通信Socket Socket通信三要素&#xff1a;通信的目的地址、使用的端口号&#xff08;http 80 / smtp 25&#xff09;、使用的传输协议&#xff08;TCP、UDP&#xff09;。 nslookup xx 可以查询xx网址的IP地址。 Socket通信模型 telnet ipxx 进行主机…

在ik分词器中自定义配置分词

找到ik分词器安装目录下的IKAnalyzer.cfg.xml配置文件 打开后就有让我们配置扩展字典的位置,还有停止的,这里的文件名完全自定义 当写完后然后再安装目录下创建这两个文件夹 在创建完成后重启elasticsearch即可 如果配置未生效很有可能是文件的编码格式有问题,我们将编码改为UT…

Linux-扩展篇-RPM和Yum-克隆和快照

扩展篇 学自尚硅谷武晟然老师&#xff0c;结合老师课堂内容和自己笔记所写博文。 文章目录 扩展篇软件包管理一、RPM1、RPM概述2、命令查询命令卸载命令安装命令 二、yum1、yum概述2、命令3、修改网络yum源 克隆虚拟机克隆快照 Shell编程Shell 概述 软件包管理 一、RPM 1、RP…

WIN11系统安装MySql8.0.15详细安装

一.下载mysql8.015数据库 下载地址&#xff1a; 如下图所示 此处下载的是8.0.15版本&#xff0c;免安装版&#xff0c;系统为64位系统&#xff1a; 二&#xff0c;配置mysql环境变量: D:\program_file_worker\mysql8.15\mysql-8.0.15-winx64\bin 三. 环境配置完成后&#xff…

优化设备管理,半导体CMS系统的重要性和优势解析

在半导体制造行业中&#xff0c;设备管理对于企业的生产效率和成本控制起着至关重要的作用。随着技术的不断进步和市场的竞争加剧&#xff0c;企业需要更加精细化、智能化地管理设备&#xff0c;以提高生产效率、降低维修成本&#xff0c;并确保产品质量的稳定性。 图.半导体芯…

vue 对话框内容超出组件问题

遇到这种问题该怎么解决, 样式问题 很好解决 解决方案很简单: 用flex布局的flex-wrap: wrap 数据 自适应布局 水了一篇 哈哈哈

管理类联考——数学——趣味篇——公式——图形推导

&#x1f3e0;个人主页&#xff1a;fo安方的博客✨ &#x1f482;个人简历&#xff1a;大家好&#xff0c;我是fo安方&#xff0c;考取过HCIE Cloud Computing、CCIE Security、CISP、RHCE、CCNP RS、PEST 3等证书。&#x1f433; &#x1f495;兴趣爱好&#xff1a;b站天天刷&…

SNMP 计算机网络管理 实验1(三) 练习与使用Wireshark抓取SNMP数据包抓包之任务四 分析并验证ARP协议数据单元的格式;

⬜⬜⬜ &#x1f430;&#x1f7e7;&#x1f7e8;&#x1f7e9;&#x1f7e6;&#x1f7ea;(*^▽^*)欢迎光临 &#x1f7e7;&#x1f7e8;&#x1f7e9;&#x1f7e6;&#x1f7ea;&#x1f430;⬜⬜⬜ ✏️write in front✏️ &#x1f4dd;个人主页&#xff1a;陈丹宇jmu &am…