Python 如何编译qrc文件并将其导入程序?
导入资源文件时遇到问题。我正在monkey studio中使用pyqt4,我正在尝试导入png图像。当我运行该程序时,会出现如下导入错误 导入错误:没有名为icon\u rc的模块Python 如何编译qrc文件并将其导入程序?,python,pyqt,pyqt4,resource-files,Python,Pyqt,Pyqt4,Resource Files,导入资源文件时遇到问题。我正在monkey studio中使用pyqt4,我正在尝试导入png图像。当我运行该程序时,会出现如下导入错误 导入错误:没有名为icon\u rc的模块 我知道我必须用pyrcc4来编译它,但我不知道该怎么做,请任何人帮忙。如果有一个完整的答案来解释如何编译资源文件,以便我可以导入它,那将非常有帮助。这里真的没有什么要解释的,您有一个资源文件(例如icon.qrc),然后调用pyrcc4-o icon\u rc.py icon.qrc,它将创建一个模块icon\u r
我知道我必须用pyrcc4来编译它,但我不知道该怎么做,请任何人帮忙。如果有一个完整的答案来解释如何编译资源文件,以便我可以导入它,那将非常有帮助。这里真的没有什么要解释的,您有一个资源文件(例如
icon.qrc
),然后调用pyrcc4-o icon\u rc.py icon.qrc
,它将创建一个模块icon\u rc.py
,然后可以将其导入到项目中
所有这些都有文档记录。打开cmd(或*nix上的终端)并运行
它成功地编译了文件,我能够将py文件导入到我的项目中,并且运行它没有问题。在Pyqt5中,可以使用该命令
Pyrcc5 input_file.qrc-o Out_file.py
我们需要将该qrc文件转换为python文件,然后将其导入到您的代码中您可以尝试使用pyside,如:
---
pyside rcc-o input.qrc output.py
这是因为当您还使用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 >
如果前缀是
<RCC>
<qresource prefix="icons">
我只是不能将这个qrc文件转换成py模块。当我在cmd pyrc4-o icon_rc.py icon.qrc中使用代码时,它会说pyrc4:File不存在‘icon.qrc’,并且,当您运行命令时,它是否存在于目录中?啊,好的,所以我设法编译它并将其导入到我的项目中,但现在它抛出了一个新错误!文件“”,第89行,在文件“F:\computing\Payrollv22\icon_rc.py”第300行,在qInitResources()文件“F:\computing\Payrollv22\ritch_rc.py”第295行,在qInitResources QtCore.qRegisterResourceData(0x01,str(qt_资源结构),str(qt_资源名称),str(qt资源数据))类型错误:qRegisterResourceData(int,str,str,str,str,str):参数2具有意外类型“str”。值得指出的是,只有在使用Python 3.x时才需要使用
-py3
开关。如果您使用的是Python 2.x,则需要在不使用此附加开关的情况下编译资源文件。@0x8BADF00D,-py3
标志将生成一个与任何Python 2.6或更高版本兼容的文件,因此除非您使用的是真正古老的Python版本,您应该始终使用-py3
进行将来的验证pyside与pyqt4不同是的,但这只是另一个选项。
QtGui.QIcon(":/ico5/plugin.png")
<RCC>
<qresource prefix="icons">
QtGui.QIcon(":/icons/plugin.png")