Подтвердить что ты не робот

PYQT4 - Как скомпилировать и импортировать файл qrc в мою программу?

У меня возникли проблемы с импортом файла ресурсов. Я использую pyqt4 с студией обезьяны, и я пытаюсь импортировать png-изображение. Когда я запускаю программу, я получаю ошибку импорта, например

ImportError: нет модуля с именем icon_rc

Я знаю, что мне нужно скомпилировать его с помощью pyrcc4, но я не понимаю, как это сделать, может кто-нибудь помочь. Было бы очень полезно получить ответ, который полностью объясняет, как скомпилировать файл ресурсов, чтобы я мог его импортировать.

4b9b3361

Ответ 1

Откройте cmd (или терминал на * nix) и запустите

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

Он скомпилировал файл успешно, и я смог импортировать файл py в свой проект и запустить его без проблем.

Ответ 2

Здесь не так много объяснений, у вас есть файл ресурсов (например, icon.qrc), затем вы вызываете pyrcc4 -o icon_rc.py icon.qrc, который создаст модуль icon_rc.py, который затем вы можете импортировать в свой проект.

Все документировано здесь.

Ответ 3

В Pyqt5 эту команду можно использовать Pyrcc5 input_file.qrc -o Out_file.py

Нам нужно преобразовать этот файл qrc в файл python, а затем его можно импортировать в ваш код

Ответ 4

вы можете попробовать с pyside, а также:

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

Ответ 5

потому что, когда вы также использовали pyuic5 для преобразования вашего пользовательского интерфейса в py, имя файла ресурса из палитр пользовательского интерфейса.

затем используйте

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")