Python Qt GUI设计入门(五)PyQt5 的资源调用


前言

前面讲了PyQt5 GUI应用的整个程序框架以及信号槽函数的使用,但是还没有介绍各种资源文件的使用,比如图标、音频等资源可能在程序中需要被调用。虽然可以可以一股脑的全部放到同一目录下,但是在文件较多的时候显得很乱,而且在打包使用的时候还需要把资源文件都放到一起。本篇文章介绍如何在PyQt5中使用资源文件,这里以设置窗体图标以及按键图标为例。


一、简单的创建一个UI文件

简单创建一个GUI窗口,不设置信号和槽函数,只是为了后面放置一下图标。
还是和上一章一样的步骤:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、创建资源文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
名称可以自己设置,但是会影响后面编译时的代码,下面会讲。打开资源文件如下图所示,点击添加,修改前缀:
在这里插入图片描述
在这里插入图片描述
添加文件,可以选择几张图片放置到这个路径下面。
在这里插入图片描述

三、编译窗体文件和资源文件

保存两个批处理文件:
在这里插入图片描述

pyrcc5 res.qrc -o res_rc.py # 这个是编译资源文件  这里要注意编译后的文件名必须是 原名称_rc.py
pyuic5 -o MyWidget.py widget.ui # 这个是编译ui文件

运行后得到两个py文件:
在这里插入图片描述
要是打开这个资源文件编译出来的py文件可以发现里面已经保存了资源文件里面的所有数据,就不需要再将所需要用到的文件放到目录里去了。

四、封装类调用

和之前一样,重新定义一个类来调用这个自动生成的模板类,代码如下:

import sys
from PyQt5.QtWidgets import QWidget,QApplication
from  PyQt5.QtGui import QIcon

from MyWidget import Ui_Widget

class QMyWidget(QWidget):
    def __init__(self):
        super(QMyWidget, self).__init__()
        self.ui = Ui_Widget()
        self.ui.setupUi(self)

if __name__ == '__main__':
    app = QApplication(sys.argv)
    icon = QIcon(":/icons/tech.png") # 这里调用了图片数据,需要标注路径,路径就是之前在资源文件里面定义的prefix
    form = QMyWidget()
    icon2 = QIcon("me.png")
    form.setWindowIcon(icon)# 设置窗体图标
    # form.setWindowIcon(icon2)
    form.show()
    sys.exit(app.exec_())

效果图:
在这里插入图片描述

总结

本文介绍了如何使用资源文件来管理程序所需要用到的数据,直接将所有数据都保存在生成的py文件里面,这样就不用把文件都放到目录里面,方便程序打包。当然,也可以在主目录里面新建一个资源文件夹专门来管理用到的资源。现在GUI设计额核心内容已经讲解完了,再就需要逐步熟悉各个窗口类的使用方法,包里面的各种模块的内容都需要慢慢学习,用多了就会了。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

肆拾伍

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值