PyQt 入门教程(3)基础知识 | 3.2、加载资源文件

news2024/10/20 15:22:33

文章目录

  • 一、加载资源文件
    • 1、PyQt5加载资源文件
    • 2、PyQt6加载资源文件

一、加载资源文件

常见的资源文件有图像、图标、样式表,下面分别介绍下加载资源文件的常用方法

1、PyQt5加载资源文件

  • 创建.qrc文件: 可以使用QtCreator或手动创建一个.qrc文件,在工程目录下分别新建imagesicons两个新目录分别存放图片及图标相关的资源,并手动创建一个resource.qrc文件

    <!DOCTYPE RCC>
    <RCC>
        <qresource prefix="/icon">
            <file>icons/icon.jpg</file>
        </qresource>
        <qresource prefix="/image">
            <file>images/image1.jpg</file>
        </qresource>
    </RCC>
    

    在这里插入图片描述

  • .qrc文件生成Python模块: 使用 pyrcc5 工具将 resource.qrc 编译成 Python 模块。在命令行中运行以下命令:

    pyrcc5 -o resources_rc.py resources.qrc
    
  • 导入并使用编译后的模块: 在PyQt 应用程序中,导入生成的 resource_rc.py 模块,并使用 QtCore.QResource 提供的路径来访问资源。示例代码如下:

    import sys
    
    from PyQt5.QtWidgets import QApplication, QMainWindow
    from customdialog import CustomDialog
    from PyQt5.QtGui import QIcon
    import resource_rc # 1、导入生成的resource_rc模块
    
    app = QApplication(sys.argv)
    dlg = CustomDialog()
    icon = QIcon(":/icon/icons/icon.jpg") # 2、使用资源路径访问资源
    
    mainWindow = QMainWindow()
    mainWindow.setWindowTitle("自动编译构建工具")
    mainWindow.resize(500, 400)
    mainWindow.move(300, 200)
    mainWindow.setCentralWidget(dlg)
    mainWindow.setWindowIcon(icon)
    mainWindow.show()
    
    app.exec()
    

2、PyQt6加载资源文件

PyQt6版本暂时没有提供pyrcc工具,下面介绍下在不使用pyrcc工具时,如何使用资源文件。

  • 添加资源: 在工程目录下分别新建imageicon两个新目录分别存放图片及图标相关的资源,结构如下:
    在这里插入图片描述

  • 使用相对路径加载资源文件: 要在demo.py文件中使用icon目录下面的icon1.jpgdemo.py文件与icon目录在同一级目录下,因此、在demo.py文件中加载icon1.jpg资源文件的相对路径是./icon/icon1.jpg,如下:

    import sys
    import mydlg
    
    from PyQt6.QtWidgets import QApplication, QWidget, QMainWindow
    from PyQt6.QtGui import QIcon
    
    app = QApplication(sys.argv)
    dlg = mydlg.MyDlg()
    icon = QIcon('./icon/icon1.jpg')  # 确保路径正确
    
    mainWindow = QMainWindow()
    mainWindow.setWindowTitle("Hello world!")
    mainWindow.resize(300, 200)
    mainWindow.move(100, 100)
    mainWindow.setCentralWidget(dlg)
    mainWindow.setWindowIcon(icon)
    
    mainWindow.show()
    app.exec()
    

    在这里插入图片描述

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

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

相关文章

注意LED亚型号区分

一. 前言 最近产品试产遇到一次批量事故&#xff1a;全部绿光LED的光功率不达标。最终定位到的原因就是未注意LED的细分型号&#xff0c;试产采用的批次与研发时的亚型号不一样&#xff0c;光功率范围不一致。在此记录下来&#xff0c;供大家做参考&#xff0c;避免走弯路。 …

桂林旅游一点通:SpringBoot平台应用

3系统分析 3.1可行性分析 通过对本桂林旅游景点导游平台实行的目的初步调查和分析&#xff0c;提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本桂林旅游景点导游平台采用SSM框架&#xff0c;JAVA作…

uniapp结合uview-ui创建项目

准备工作&#xff1a; 下载HBuilderX;官网地址:HBuilderX-高效极客技巧 安装node.js;官网地址&#xff1a;Node.js — 在任何地方运行 JavaScript,下载所需版本&#xff0c;安装后配置好环境变量即可 方式一&#xff08;NPM安装方式&#xff09;&#xff1a; 1、打开开发者…

OpenRTP 乱序排包和差分抖动计算

OpenRTP 开源地址 OpenRTP 开源地址 暂时使用h264 aac 的音频去测试&#xff0c;点开配置去选择 1 音视频同步问题 先要解决一个音视频同步问题&#xff0c;否则包排不排序都不对&#xff0c;这是因为视频时间戳不一定能够对上音频&#xff0c;为什么呢&#xff1f;因为大部…

前端考试总结

1HTML标签 h标题标签 块级标签 独占一行 p段落标签 同上 br换行标签 单标签 img图片标签 内联标签:不独占一行(src图片地址 alt图片的替代文字 title鼠标悬停提示文字) a超链接标签 同上 (href跳转路径 target属性{_blank新窗口打开 _self在当前窗口打开}) 列表标签(ul无…

诺贝尔物理学奖与机器学习、神经网络:一场跨时代的融合与展望

诺贝尔物理学奖与机器学习、神经网络&#xff1a;一场跨时代的融合与展望 机器学习与神经网络的崛起 机器学习与神经网络的发展前景 机器学习和神经网络的研究与传统物理学的关系 总结 2024年&#xff0c;诺贝尔物理学奖颁给了机器学习与神经网络&#xff0c;这一具有里程碑…

JAVA就业笔记5——第二阶段(2)

课程须知 A类知识&#xff1a;工作和面试常用&#xff0c;代码必须要手敲&#xff0c;需要掌握。 B类知识&#xff1a;面试会问道&#xff0c;工作不常用&#xff0c;代码不需要手敲&#xff0c;理解能正确表达即可。 C类知识&#xff1a;工作和面试不常用&#xff0c;代码不…

房屋租赁管理系统|基于java和小程序的房屋租赁管理系统小程序设计与实现(源码+数据库+文档)

房屋租赁管理系统小程序 目录 基于java和小程序的房屋租赁管理系统小程序设计与实现 一、前言 二、系统功能设计 三、系统实现 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 博主介绍&#xff1a;✌️大厂码农|毕设…

asp.net core _ViewStart.cshtml 和 _ViewImports.cshtml

_ViewStart.cshtml asp.net mvc 就出现了 》》/Views/ViewStart.cshtml _ViewStart.cshtml 是默认模板&#xff0c;当页面没有指定 Layout 时&#xff0c;会自动调用此默认模板‌&#xff0c;如果要取消 在当页面设定 &#xff08;如下&#xff09;&#xff0c;则表示 当前页面…

线下陪玩导游系统软件源码,家政预约服务源码(h5+小程序+app)

游戏陪玩系统源码陪玩小程序源码搭建基于PHP&#xff0b;MySQL陪玩系统app源码陪玩系统定制开发服务、成品陪玩系统源码 系统基于Nginx或者Apache PHP7.3 数据库mysql5.6 前端为uniapp-vue2.0 后端为thinkphp6 有域名授权加密&#xff0c;其他开源可二开 演示源码下载 开…

Collection 单列集合 List Set

集合概念 集合是一种特殊类 ,这些类可以存储任意类对象,并且长度可变, 这些集合类都位于java.util中,使用的话必须导包 按照存储结构可以分为两大类 单列集合 Collection 双列集合 Map 两种 区别如下 Collection 单列集合类的根接口,用于存储一系列符合某种规则的元素,它有两…

包子凑数

类似完全背包求方案数&#xff0c;再加上点数论知识&#xff0c;裴蜀定理。 #include<bits/stdc.h> using namespace std; #define int long long #define endl \n const int N300000; bool f[N]; int a[120]; signed main() {ios::sync_with_stdio(0);cin.tie(0);cout.…

华为ICT大赛2024-2025网络赛道考试分析

华为ICT大赛2024-2025正在报名中&#xff0c;网络赛道的同学如何备考&#xff0c;了解考试内容呢&#xff1f; 一、考试概况 华为ICT大赛分为4个赛段&#xff0c;分别为省赛初赛、省赛复赛、中国总决赛&#xff0c;全球总决赛。其中对应的能力级别分别如下&#xff1a; 省赛…

PHP爬虫API:获取商品详情的新利器

为什么选择PHP爬虫API 灵活的数据处理&#xff1a;PHP强大的数据处理能力&#xff0c;使得从API获取的数据可以被快速地处理和分析。丰富的库支持&#xff1a;PHP拥有如cURL、Guzzle等库&#xff0c;这些库简化了HTTP请求的发送和响应的接收。易于集成&#xff1a;PHP作为服务…

无人机搭载激光雷达在地形测绘中的多元应用

一、高精度地形测量 无人机激光雷达能够发射激光脉冲并接收其回波&#xff0c;通过精确计算激光脉冲的往返时间来确定目标物的距离。这一特性使得无人机激光雷达在地形测绘中能够实现高精度的三维地形测量。通过快速获取大量地形数据&#xff0c;可以生成高精度的数字高程模型…

pytorh学习笔记——cifar10(一)生成数据

CIFAR&#xff08;Canadian Institute For Advanced Research&#xff09;是一个用于图像识别研究的数据集。CIFAR数据集包含多个子数据集&#xff0c;最常用的是CIFAR-10和CIFAR-100。 CIFAR-10数据集包含60000张32x32彩色图像&#xff0c;分为10个类别&#xff0c;每…

SpringCloud无介绍快使用,单机Eureka服务注册中心cloud-eureka-server7001搭建(十)

TOC 问题背景 从零开始学springcloud微服务项目 注意事项&#xff1a; 约定 > 配置 > 编码IDEA版本2021.1这个项目&#xff0c;我分了很多篇章&#xff0c;每篇文章一个操作步骤&#xff0c;目的是显得更简单明了controller调service&#xff0c;service调dao项目源码以及…

Python学习的自我理解和想法(17)

学的是b站的课程&#xff08;千锋教育&#xff09;&#xff0c;跟老师写程序&#xff0c;不是自创的代码&#xff01; 今天是学Python的第17天&#xff0c;学的内容是面向对象设计。开学了&#xff0c;时间不多&#xff0c;写得不多&#xff0c;见谅。 目录 1.面向对象入门 …

基于PHP+MySQL+Vue的网上订餐系统

摘要 本文介绍了一个基于PHPMySQLVue技术的网上订餐系统。该系统旨在为用户提供便捷的在线订餐服务&#xff0c;同时提高餐厅的运营效率。系统后端采用PHP语言开发&#xff0c;利用MySQL数据库进行数据存储与管理&#xff0c;实现了用户注册登录、菜品浏览、购物车管理、订单提…

es kibana .logstash离线集群安装

es离线集群安装 下载对应的版本一般看你客户端引用的是什么版本我这里下载的是7.6.2 官方下载地址&#xff1a;https://www.elastic.co/cn/downloads/elasticsearch 源码安装-环境准备&#xff1a;在etc/hosts文件添加3台主机 node-001 192.168.1.81 node-002 19…