2012-06-08 5 views
7

Ich versuche, ein Beispiel in PyQt4 (simpletreemodel.pyw) ich den Code sehen, zu verstehenRessourcendatei in PyQt4

import simpletreemodel_rc 

Aber ich kann nicht sehen, wo das Modul im Beispielcode verwendet wird Als ich das Modul simpletreemodel untersuchen, wie ich sehe:

from PyQt4 import QtCore 

qt_resource_data = b"\ 
\x00\x00\x07\xb9\ 
\x47\ 
\x65\x74\x74\x69\x6e\x67\x20\x53\x74\x61\x72\x74\x65\x64\x09\x09\ 
\x09\x09\x48\x6f\x77\x20\x74\x6f\x20\x66\x61\x6d\x69\x6c\x69\x61\ 
\x72\x69\x7a\x65\x20\x79\x6f\x75\x72\x73\x65\x6c\x66\x20\x77\x69\ 
\x74\x68\x20\x51\x74\x20\x44\x65\x73\x69\x67\x6e\x65\x72\x0a\x20\ 
\x20\x20\x20\x4c\x61\x75\x6e\x63\x68\x69\x6e\x67\x20\x44\x65\x73\ 
\x69\x67\x6e\x65\x72\x09\x09\x09\x52\x75\x6e\x6e\x69\x6e\x67\x20\ 
\x74\x68\x65\x20\x51\x74\x20\x44\x65\x73\x69\x67\x6e\x65\x72\x20\ 

Was dieses Modul tun soll? Danke

Antwort

12

Was Sie sehen, ist der Byte-für-Byte-Dump der Ressourcen der .qrc Datei enthält. Sie greifen nicht explizit auf die Objekte im Modul zu. Importieren Sie es einfach, und Sie können auf diese Ressourcen mit ihren ursprünglichen Namen (und Pfaden), aber mit einem Doppelpunkt zugreifen.

pixmap = QPixMap(':/images/filename.jpg') 

UPDATE: QRC-Datei eine XML-Datei, die wie unten aussieht:

<RCC> 
    <qresource prefix="/images"> 
    <file alias='filename.jpg'>images/filename.jpg</file> 
    </qresource> 
</RCC> 

Dann ist es zu erzeugen, verwenden Sie:

pyrcc4 -o images_rc.py images.qrc 
+0

Ist das Modul automatisch von Python erzeugt ? und wie erstelle ich die qrc-Datei? – nam

+0

Ich antwortete inline. HTH – SuperSaiyan

+0

Aber können Sie erklären, warum wir die images_rc.py generieren müssen, anstatt direkt die Bilddatei zu verwenden? Ist es eine Leistungsoptimierung? – nam