2012-06-08 19 views
7

Estoy tratando de entender un ejemplo en PyQt4 (simpletreemodel.pyw) veo el códigoarchivo de recursos en PyQt4

import simpletreemodel_rc 

Pero no puede ver donde se utiliza el módulo en el código de ejemplo cuando examino la simpletreemodel módulo, que veo:

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\ 

lo que se supone que este módulo a hacer? Gracias

Respuesta

12

Lo que ve es el volcado byte por byte de los recursos que contiene el archivo .qrc. Usted no accede explícitamente a los objetos dentro del módulo. Simplemente importe, y podrá acceder a esos recursos por sus nombres originales (y rutas) pero precedidos por dos puntos.

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

ACTUALIZACIÓN: archivo QRC es un archivo XML que se parece a continuación:

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

Entonces para generarlo, el uso:

pyrcc4 -o images_rc.py images.qrc 
+0

es el módulo generado automáticamente por Python ? y cómo crear el archivo qrc? – nam

+0

Respondí en línea. HTH – SuperSaiyan

+0

¿Pero puede explicar por qué necesitamos generar images_rc.py en lugar de usar directamente el archivo de imagen? ¿Es una optimización del rendimiento? – nam