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

server/2024/10/22 3:46: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 sysfrom 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 mydlgfrom PyQt6.QtWidgets import QApplication, QWidget, QMainWindow
    from PyQt6.QtGui import QIconapp = 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.ppmy.cn/server/133787.html

相关文章

docker/docker-compose里面Command和entrypoint的关系

在Docker中&#xff0c;ENTRYPOINT和CMD都是用于指定容器启动时要执行的命令或程序的关键指令。它们之间的关系如下&#xff1a; 1. **ENTRYPOINT**&#xff1a; - ENTRYPOINT用于指定容器启动时要执行的主要命令或程序。它可以设置容器的主要可执行文件&#xff0c;在运行…

基于SpringBoot设计模式之结构型设计模式·桥接模式

文章目录 介绍开始架构图定义类的功能定义类的实现 测试样例 总结 介绍 将抽象部分与它的实现部分分离&#xff0c;使他们都可以独立地发生变化。 Bridge的意思是桥梁。就像在现实世界中&#xff0c;桥梁的功能是将河流的两侧连接起来一样, Bridge模式的作用也是将两样东西连接…

Git小知识:合理的分支命名约定

前言&#xff1a;创建新分支时&#xff0c;对 Git 分支进行合理的命名非常重要&#xff0c;应选择有描述性的名称&#xff0c;因为它可以帮助团队成员更好地理解分支的目的和内容&#xff0c;以便将来回顾时能立即明白分支的目的。以下是一些常见的分支命名约定&#xff1a; 功…

opencv物体追踪,人脸识别案例分析

引言 OpenCV是一个开源的计算机视觉和机器学习软件库&#xff0c;广泛应用于图像和视频处理、人脸识别、物体追踪等领域。本文将通过实际案例&#xff0c;探讨如何使用OpenCV实现物体追踪和人脸识别功能。 物体追踪案例分析 物体追踪实现 我们将使用OpenCV的视频捕捉功能&am…

吴伟仁《英国文学史及选读》第一二册课后答案PDF

新经典高等学校英语专业系列教材《英国文学史及选读》根据英国文学历史的顺序结合作品选读编写而成&#xff0c;在历史部分&#xff0c;对英国文学史的每个阶段作了简明扼要的概述&#xff0c;而在作品选读部分则尽可能遴选了文学史上的重要作家和重要作品。教材内容丰富&#…

哪些方法可以缓解面试紧张?

面试紧张是许多人在面对重要职业机会时的一种常见情绪。虽然一定程度的紧张可能激发人的潜能&#xff0c;但过度的紧张则可能影响到面试表现。为了缓解面试紧张&#xff0c;以下是一些有效的方法&#xff1a; 1.充分准备&#xff1a; 深入了解公司背景、职位要求以及公司文化…

A Graph-Transformer for Whole SlideImage Classification文献笔记

基本信息 原文链接&#xff1a;[2205.09671] A graph-transformer for whole slide image classification (arxiv.org) 源码&#xff1a;https://github.com/vkola-lab/tmi2022 提出了一种融合了基于图的WSI表示和用于处理病理图像的视觉转换器&#xff0c;称为GTP&#xff…

鸿蒙测试-常见问题记录

文章目录 queuesize:0, msg:error: failed to install bundle. code:9568322 error: signature verification failed due to not trusted app source. queuesize:0, msg:error: failed to install bundle. code:9568322 error: signature verification failed due to not trust…