PYQT4 - How do I compile and import a qrc file into my program?

本秂侑毒 提交于 2019-12-20 09:56:03

问题


I'm having trouble importing a resource file. I'm using pyqt4 with monkey studio and I am trying to import a png image. When I run the program I get an import error like

ImportError: No module named icon_rc

I know that I have to compile it using pyrcc4 but I don't understand how to do this can anybody help please. It would be very helpful to have an answer that fully explains how to compile the resource file so I can import it.


回答1:


Open cmd (or terminal on *nix) and run

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

It compiled the file successfully and I was able to import the py file into my project and run it with no problem.




回答2:


There really isn't much to explain here, you have a resource file (e.g. icon.qrc), then you call pyrcc4 -o icon_rc.py icon.qrc which will create a module icon_rc.py which you then can import in your project.

It's all documented here.




回答3:


In Pyqt5 this command can be used Pyrcc5 input_file.qrc -o Out_file.py

We need to convert that qrc file into python file and then it can be imported to your code




回答4:


you could try with pyside as well like:

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




回答5:


its because when you also used pyuic5 to convert your UI to py, the resource file name from the UI sticks.

then use

Pyrcc5 input_file.qrc -o icons.py

remove from main_script.py

import icon_rc

and use

import icons

the when calling the actual icons from the icons module, you have to look at your qrc file prefix.

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

if prefix is ico5 then you load icons with

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

and if prefix is , lets say,

<RCC>
    <qresource prefix="icons">

then its:

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


来源:https://stackoverflow.com/questions/15864762/pyqt4-how-do-i-compile-and-import-a-qrc-file-into-my-program

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!