将资源文件导入PyQt代码?

She*_*Rox 12 python qt pyqt pyqt4

我已经看过Qt纪录片和许多问题 - 与此类似,但我仍然没有弄清楚我该怎么做.

我不完全确定如何将资源文件导入Python代码,因此pixmap没有任何问题.


我将所有文件放在同一目录中,我创建了qrc.文件并使用以下命令编译:rcc -binary resources.qrc -o res.rcc生成资源文件.

我导入res_rcc但标签上的pixmap仍未显示:

import res_rcc


这就是我在qrc中所拥有的.文件:

<RCC>
  <qresource prefix="newPrefix">
    <file>download.jpeg</file>
  </qresource>
</RCC>
Run Code Online (Sandbox Code Playgroud)

题:

如何在PyQt代码中导入资源文件? | 如果pixmaps与.qrc资源文件位于同一目录中,我还需要指定完整路径吗?

Fab*_*bio 14

对于pyqt,你必须使用pyrcc4,这相当于python的rcc.

pyrcc4 -o resources.py resources.qrc
Run Code Online (Sandbox Code Playgroud)

这将生成需要在python代码中导入的resources.py模块,以使资源可用.

import resources
Run Code Online (Sandbox Code Playgroud)

要在代码中使用资源,您必须使用":/"前缀:

例

from PyQt4.QtCore import *
from PyQt4.QtGui import *

import resources

pixmap = QPixamp(":/newPrefix/download.jpeg")
Run Code Online (Sandbox Code Playgroud)

请参阅PyQt4资源系统和Qt资源系统


小智 7

在PyQt5中,我们应该用comand行编写

pyrcc5 -o resources.py resource/resources.qrc
Run Code Online (Sandbox Code Playgroud)

因为,我们需要生成一个resource.py来导入代码。现在我们可以输入

import resources
Run Code Online (Sandbox Code Playgroud)

在我们的python代码中