miércoles, agosto 18, 2010

PyQt4 y sus definiciones de interfase en XML

PyQt4 trae dentro de sus herramientas de dearrollo un diseñador de interfases muy cómodo para hacer layouts complejos y facilita su mantenimiento. Este diseñador genera unos archivos XML de extensión UI.

En PyQt4 existen básicamente 2 formas de utilizarlos, cargarlos dinámicamente o compilarlos con la utilidad pyuic. La primera variante es muy interesante para empezar, ya que con solo guardar y volver a lanzar nuestro script, veremos los cambios reflejados.

La segunda variante es la compilación. Generalmente utilizo un Makefile para automatizar esta tarea, y voy a postearlo para poder tenerlo a mano al volver al blog. Quizás a más de uno le sirva:

# Generar los uic de los ui

UI_DIR = "ui_files"
UI_FILES = $(shell find ${UI_DIR} -iname "*.ui")
PY_FILES = $(foreach file,${UI_FILES},ui_$(patsubst %.ui,%.py,$(notdir ${file})))

all: ${PY_FILES}


ui_%.py: ui_files/%.ui
pyuic4 $^ -x -o $@