it-swarm.com.de

PYQT4 - Wie kompiliere und importiere ich eine qrc-Datei in mein Programm?

Ich habe Probleme beim Importieren einer Ressourcendatei. Ich verwende pyqt4 mit Monkey Studio und versuche, ein PNG-Bild zu importieren. Wenn ich das Programm starte bekomme ich einen Importfehler wie

ImportError: Kein Modul namens icon_rc

Ich weiß, dass ich es mit pyrcc4 kompilieren muss, aber ich verstehe nicht, wie das geht, kann mir jemand helfen. Es wäre sehr hilfreich, eine Antwort zu haben, die ausführlich erklärt, wie die Ressourcendatei kompiliert wird, damit ich sie importieren kann.

14
Thomas

Öffnen Sie cmd (oder das Terminal auf * nix) und führen Sie es aus

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

Die Datei wurde erfolgreich kompiliert und ich konnte die py-Datei in mein Projekt importieren und ohne Probleme ausführen.

28
Thomas

Hier gibt es wirklich nicht viel zu erklären. Sie haben eine Ressourcendatei (z. B. icon.qrc). Dann rufen Sie pyrcc4 -o icon_rc.py icon.qrc auf, wodurch ein Modul icon_rc.py erstellt wird, das Sie dann in Ihr Projekt importieren können.

Es ist alles dokumentiert hier .

20
mata

In Pyqt5 kann dieser Befehl verwendet werden Pyrcc5 input_file.qrc -o Out_file.py

Wir müssen diese qrc-Datei in eine Python-Datei konvertieren und dann in Ihren Code importieren 

3
IFfy KhAn

wenn Sie pyuic5 auch verwendet haben, um Ihre Benutzeroberfläche in py zu konvertieren, bleibt der Name der Ressourcendatei von der Benutzeroberfläche erhalten.

dann benutze

Pyrcc5 input_file.qrc -o icons.py

aus main_script.py entfernen

import icon_rc

und verwenden 

import icons

wenn Sie die eigentlichen Symbole vom Symbolmodul aus aufrufen, müssen Sie das Präfix der qrc-Datei betrachten.

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

wenn das Präfix ico5 ist, laden Sie die Symbole mit 

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

und wenn das Präfix ist, lassen Sie uns sagen, 

<RCC>
    <qresource prefix="icons">

dann ist es:

  QtGui.QIcon(":/icons/plugin.png")
0
Storm Shadow

sie könnten es auch mit pyside versuchen:

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

0
Nilesh K.