Glade3 y GtkBuilder

Glade es una herramienta que permite realizar RAD (Rapid Application Development) con una interfaz muy sencilla de utilizar para aplicaciones GTK+. Glade genera unos ficheros .glade que son xml y pueden ser leidos por las muchas implementaciones de GTK+ para Java, C, C++, Python, Perl y un largo etcétera.

Con Karmic Koala viene la nueva versión 3.6.7 de Glade que incluye un muy buen soporte para GtkBuilder.

GtkBuilder y Libglade

GtkBuilder va a reemplazar a Libglade en el futuro no muy lejano y GtkBuilder forma parte integral de GTK, por lo que no hace falta añadir más dependencias a nuestros proyectos. Además, al utilizar GtkBuilder, podemos crear nuevos objetos y acciones que antes se tenian que crear en el código. Por ejemplo, los ListStore para añadir a los Views facilitan mucho la creación de este tipo de widgets.

La razón por la cual se cambia de Libglade a GtkBuilder es que se ha convertido en algo muy común desarrollar la UI de forma dinámica en Glade por lo que no tenía sentido que el propio core de GTK no lo soportara. Aquí es donde entra GtkBuilder para además, añadir nuevas funcionalidades. La verdad es que no hay nada malo con Libglade, sólo que GtkBuilder extiende sobre Libglade y se añade directamente a GTK, haciendo el funcionamiento más sencillo y rápido.

PyGTK

Para utilizar GtkBuilder en Python, seguimos las mismas pautas que con libglade, es decir, cargar el fichero, conectar las señales y obtener los widgets para actuar sobre estos.

import gtk
x = gtk.Builder()
x.add_from_file("/tmp/test.glade")
y = x.get_object("window1")
y.show()

Cabe recalcar que MCM está desarrollada con Libglade y que poco a poco iré migrando a GtkBuilder viendo las posibilidades.