2012-06-08 19 views
7

Sto cercando di capire un esempio in PyQt4 (simpletreemodel.pyw) vedo il codicedi risorse in PyQt4

import simpletreemodel_rc 

Ma non può vedere dove il modulo è utilizzato nel codice di esempio quando esamino la simpletreemodel modulo, vedo:

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\ 

ciò che si suppone questo modulo per fare? Grazie

risposta

12

Quello che vedi è il dump byte per byte delle risorse contenute nel file .qrc. Non si accede esplicitamente agli oggetti all'interno del modulo. Basta importarlo e sarai in grado di accedere a quelle risorse con i loro nomi originali (e percorsi) ma preceduti da due punti.

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

UPDATE: file di QRC è un file XML che assomiglia di seguito:

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

Poi per generare esso, l'uso:

pyrcc4 -o images_rc.py images.qrc 
+0

è il modulo generato automaticamente da Python ? e come creare il file qrc? – nam

+0

Ho risposto in linea. HTH – SuperSaiyan

+0

Ma puoi spiegare perché abbiamo bisogno di generare le immagini_rc.py invece di usare direttamente il file immagine? È un ottimizzazione delle prestazioni? – nam