Extraer un archivo de texto embebido en un recurso .qrc
Ademas de poder embeber imágenes, la librería Qt (y por ende PyQt) también permite incluir otros elementos en su sistema de recursos. La función que se define a continuación permite leer los contenidos de un archivo de texto plano que se encuentre registrado en un archivo .qrc. Cabe agregar que antes de invocar a loadTextFileFromRc() hay que convertir el .qrc a módulo de Python con la herramienta pyrcc4 (por ejemplo, en una terminal de GNU/Linux: $ pyrcc4 -o resources.py resources.qrc). Esto puede ser útil para incorporar al programa una hoja de estilo que se aplique a toda la aplicación.
# -*- coding: utf-8 -*-
from PyQt4 import QtCore
# El siguiente import realizará el registro de los recursos a PyQt.
import resources
def loadTextFileFromRc(rcPath):
u"""Extrae el contenido de un archivo de texto incluido en el sistema
de recursos.
Parámetros:
rcPath: ruta absoluta del archivo dentro del recurso. Por ejemplo:
':/app/css/style.css'.
"""
q_file = QtCore.QFile(rcPath)
q_file.open(QtCore.QIODevice.ReadOnly)
q_text_stream = QtCore.QTextStream(q_file)
content = q_text_stream.readAll()
q_file.close()
return content
if __name__ == '__main__':
print loadTextFileFromRc(':/ruta/al/recurso.txt')
