15

我在导入资源文件时遇到问题。我正在将 pyqt4 与猴子工作室一起使用,并且我正在尝试导入 png 图像。当我运行程序时,我收到一个导入错误,例如

ImportError:没有名为 icon_rc 的模块

我知道我必须使用 pyrcc4 编译它,但我不明白如何做到这一点,任何人都可以帮忙。有一个完全解释如何编译资源文件以便我可以导入它的答案将非常有帮助。

4

5 回答 5

31

打开 cmd(或 *nix 上的终端)并运行

pyrcc4 -py3 F:\computing\Payrollv22\icon.qrc -o icon_rc.py

它成功编译了文件,我能够将 py 文件导入我的项目并毫无问题地运行它。

于 2013-04-08T16:20:08.350 回答
20

这里真的没什么好解释的,你有一个资源文件(例如icon.qrc),然后你调用pyrcc4 -o icon_rc.py icon.qrc它会创建一个模块icon_rc.py,然后你可以将它导入到你的项目中。

这一切都记录在这里

于 2013-04-07T19:56:55.530 回答
5

在 Pyqt5 中可以使用这个命令Pyrcc5 input_file.qrc -o Out_file.py

我们需要将该 qrc 文件转换为 python 文件,然后可以将其导入到您的代码中

于 2017-06-16T15:06:17.920 回答
1

这是因为当您还使用 pyuic5 将您的 UI 转换为 py 时,UI 中的资源文件名仍然存在。

然后使用

Pyrcc5 input_file.qrc -o icons.py

从 main_script.py 中删除

import icon_rc

并使用

import icons

从图标模块调用实际图标时,您必须查看您的 qrc 文件前缀。

< RCC >
    < qresource
    prefix = "ico5" >
    < file > plugin.png < / file >
    < / qresource >
< / RCC >

如果前缀是 ico5 那么你加载图标

 QtGui.QIcon(":/ico5/plugin.png")

如果前缀是 ,可以说,

<RCC>
    <qresource prefix="icons">

然后是:

  QtGui.QIcon(":/icons/plugin.png")
于 2017-12-08T23:26:52.967 回答
0

您也可以尝试使用 pyside,例如:

---pyside-rcc -o input.qrc output.py

于 2017-12-08T04:34:48.370 回答