【问题标题】:resource file in PyQt4PyQt4中的资源文件
【发布时间】:2012-06-12 16:13:29
【问题描述】:

我正在尝试理解 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\

这个模块应该做什么? 谢谢

【问题讨论】:

    标签: python pyqt4 embedded-resource


    【解决方案1】:

    您看到的是.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文件?
    • 但是你能解释一下为什么我们需要生成 images_rc.py 而不是直接使用图像文件吗?是性能优化吗?
    • 它是可选的。就像我们将图像字节“嵌入”到应用程序本身中,而不是从磁盘读取。
    猜你喜欢
    • 2012-09-04
    • 1970-01-01
    • 1970-01-01
    • 2019-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多