欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > pyside6学习专栏(二):程序图像资源的加载方式

pyside6学习专栏(二):程序图像资源的加载方式

2025/2/22 16:40:35 来源:https://blog.csdn.net/mr_LuoWei2009/article/details/145762129  浏览:    关键词:pyside6学习专栏(二):程序图像资源的加载方式

pyside6中的QLabel控件可以加载图像和gif动画,可以直接从外部文件加载,也可以从QRC类型的文件(实际是一脚本文件)经编绎生成对应的资源.PY模块文件(就是将qrc文本中指定的资源文件的16制内容写入.py文件)来使用,本文对两种方式作了一简单的示例代码,有详细的注解,希望可以为初学者提供一定的帮助

运行结果如下图

示例窗口代码如下:

# -*- coding: utf-8 -*-
from PySide6.QtWidgets import *
from PySide6.QtGui import QPixmap, QMovie
import sys#在design.exe中加工的ui界面文件(如ui_Form1.ui),按下行代码在控制台中编绎成PY文件(如ui_Form1.py),同要使用的模块文件放在一起
#pyside6-uic ui_Form1.ui -o ui_Form1.py   #注意一般要先运行下代码,再将此命令文本粘到终端命令行中执行才不会报错,如错误处理不了,改成绝对路径就可以了
#在design.exe中加工的qrc文件(如01.qrc),按下行代码在控制台中编绎成PY文件(如RCC01.py),同要使用的模块文件放在一起
#pyside6-rcc 01.qrc -o RCC01.py
import RCC01  #将上行编绎成功的资源模块文件RCC01.py导入,以便使用各种资源
class Example(QWidget):def __init__(self):super().__init__()self.initUI()def initUI(self):hbox = QHBoxLayout(self)#有别名的png图象资源用法pixmap = QPixmap(":PNG/png01")     #QTC编辑器的的名称为Res/1.png,别名为png01,用":PNG/Res/1.png"将显不出图象,只能用别名png01,同时注意大小写要一致#pixmap = QPixmap("./res/1.png")   #对比不用QRC文件,直接从外部文件加载,示例文件位于模块文件的res\子目录下lbl01 = QLabel(self)lbl01.setPixmap(pixmap)hbox.addWidget(lbl01)#无别名的png图象资源用法pixmap = QPixmap(":PNG/Res/2.png")   #无别名的资源用法要同设计器中的名称一致(注意区分大小写),如设计器中的PNG分类下的文件名称为Res/3.png(因是从模块文件下的res子目录中导入到QRC文件中的,所在资源文件名前加了Res/)lbl02 = QLabel(self)lbl02.setPixmap(pixmap)hbox.addWidget(lbl02)#有别名的GIF资源用法movie = QMovie(":GIF/gif01")         #QTC编辑器的的名称为Res/1.gif,别名为gif01,用":GIF/Res/1.gif"将显不出图象,只能用别名gif01,同时注意大小写要一致 lbl03 = QLabel(self)lbl03.setMovie(movie)movie.start()hbox.addWidget(lbl03)self.setLayout(hbox)self.resize(600,400)self.setWindowTitle('标签控件显示res资源中的图片')if __name__ == '__main__':app = QApplication(sys.argv)ex = Example()ex.show()sys.exit(app.exec())

示例QRC文件(实际为一脚本文件)如下,可copy至记事本另存为1.qrc即可

<RCC>

  <qresource prefix="PNG">

    <file alias="png01">Res/1.png</file>

    <file>Res/2.png</file>

    <file alias="png03">Res/3.png</file>

    <file alias="png04">Res/4.png</file>

  </qresource>

  <qresource prefix="GIF">

    <file alias="gif01">Res/1.gif</file>

  </qresource>

</RCC>

<RCC>

  <qresource prefix="PNG">

    <file alias="png01">Res/1.png</file>

    <file>Res/2.png</file>

    <file alias="png03">Res/3.png</file>

    <file alias="png04">Res/4.png</file>

  </qresource>

  <qresource prefix="GIF">

    <file alias="gif01">Res/1.gif</file>

  </qresource>

</RCC>

#在design.exe中加工的qrc文件(如01.qrc),按下行代码在控制台中编绎成PY文件(如RCC01.py),同要使用的模块文件放在一起

#pyside6-rcc 01.qrc -o RCC01.py

示例用到的几个图像文本1.png,2.png,3.pgn,4.png,2.gif等请自行准备并copy至代码文件下新建一.\\Res\\子目录下即可

本例用到的几个图像粘在下面

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词