Hasta ahora todo lo que había hecho con Python eran scripts, pero nunca me había atrevido hasta este fin de semana, a intentarlo con interfaces gráficos. Y de lo sencillo que me ha parecido me da hasta cosa. Cierto es que, tardé unas horas hasta que di con la solución adecuada, pero es que una vez encontrada esto parece que va como un tiro.
Así que me he decidido a publicar unos cuantos artículos en los que voy a implementar (en vivo y en directo -más o menos-) en Python la aplicación Equival, que hice y mantengo en Java.
La imagen a continuación es el diseño con Glade de una ventana de dialogo sencilla, para que veais lo sencillo que resulta el tema:
y el resultado:
Este es el código correspondiente a la ventana de diálogo para que haga las funciones básicas, aparecer, desaparecer y alguna que otra tontería. Todo esto en nada. Una maravilla.
import sys import gtk class Ventana: def __init__(self): self.builder = gtk.Builder() self.builder.add_from_file(`tutorial.glade`) self.window = self.builder.get_object(`window`) self.entry1 = self.builder.get_object(`entry1`) self.entry2 = self.builder.get_object(`entry2`) self.window.show_all() # Magia :P self.builder.connect_signals(self) def on_button1_clicked(self, widget): print "boton1" def on_button2_clicked(self, widget): print "boton2" def on_window_destroy(self,widget): sys.exit(0) def on_entry1_changed(self,widget): self.entry2.set_text(self.entry1.get_text()) if __name__ == `__main__`: v = Ventana() gtk.main()