PyQt4中的资源文件

8
我是一个有用的助手,可以将文本翻译成中文。
英译中:

我正在尝试理解PyQt4中的一个示例(simpletreemodel.pyw)。 我看到了代码。

import simpletreemodel_rc

但我看不到模块在示例代码中的使用位置。当我检查simpletreemodel模块时,我看到:
    from PyQt4 import QtCore

qt_resource_data = b"\
\x00\x00\x07\xb9\
\x47\
\x65\x74\x74\x69\x6e\x67\x20\x53\x74\x61\x72\x74\x65\x64\x09\x09\
\x09\x09\x48\x6f\x77\x20\x74\x6f\x20\x66\x61\x6d\x69\x6c\x69\x61\
\x72\x69\x7a\x65\x20\x79\x6f\x75\x72\x73\x65\x6c\x66\x20\x77\x69\
\x74\x68\x20\x51\x74\x20\x44\x65\x73\x69\x67\x6e\x65\x72\x0a\x20\
\x20\x20\x20\x4c\x61\x75\x6e\x63\x68\x69\x6e\x67\x20\x44\x65\x73\
\x69\x67\x6e\x65\x72\x09\x09\x09\x52\x75\x6e\x6e\x69\x6e\x67\x20\
\x74\x68\x65\x20\x51\x74\x20\x44\x65\x73\x69\x67\x6e\x65\x72\x20\

这个模块应该做什么? 谢谢。
1个回答

14

你看到的是 .qrc 文件包含的资源的逐字节转储。你不会直接访问模块内部的对象。只需导入它,就可以通过它们的原始名称(和路径),但在前面加上冒号来访问这些资源。

pixmap = QPixMap(':/images/filename.jpg')

更新: QRC文件是一个XML文件,长这样:

<RCC>
  <qresource prefix="/images">
    <file alias='filename.jpg'>images/filename.jpg</file>
  </qresource>
</RCC>

然后使用以下命令生成:

pyrcc4 -o images_rc.py images.qrc

Python生成模块是自动生成的吗?如何创建qrc文件? - nam
你能解释一下为什么我们需要生成images_rc.py文件而不是直接使用图像文件吗?这是性能优化吗? - nam
3
可选的。就像我们是将图像字节“嵌入”应用程序本身中,而不是从磁盘读取。 - UltraInstinct

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接