Seguro que más de uno se ha dado cuenta de que con la llegada de GTK3 no han aparecido los habituales python-gtk3 y compañía. Esto se debe a que ahora se utiliza un sistema de introspección de objetos que proporciona GObject (para que luego digan que no se puede hacer OO en C). Con este sistema se pueden crear «bindings al vuelo» de cualquier librería hecha con GObject con el consiguiente ahorro que implica no tener que hacer y mantener bindings. El sistema de introspección si que necesita bindings claro (PyGI), pero están integrados en python-gobject.

Y cómo se hace ahora?

Pues realmente no cambia demasiado (un ejemplo sacado de live.gnome.org::How does PyGI work?)

from gi.repository import Gtk; 
Gtk.MessageDialog(None, 0, Gtk.MessageType.INFO, Gtk.ButtonsType.CLOSE, "Hello World").run()

Y todo lo demás?

Pensaba hacer una receta con algo más de detalle pero he encontrado toda una serie de ellas que están muy bien. Las enlazo aquí, aunque puede ser buena idea copiarlas, que luego la gente cierra sus blogs y nos quedamos con el enlace apuntando al mar (habrá que mirar la licencia):

Aprendiendo GtkBuilder, Glade y Python:



blog comments powered by Disqus