All pastes #823905 Raw Edit

Miscellany

public text v1 · immutable
·published 2007-12-19 17:46 UTC
rendered paste body
import gtk
# Este módulo nos sirve para poder llamar al archivo de glade.
import gtk.glade

class Gui:

    def __init__(self):
        # Le decimos a nuestro programa que archivo XML de glade usar.
        self.widgets = gtk.glade.XML("test2.glade")
        # Creamos un diccionario con los manejadores definidos en glade y su respectiva llamada.
        signals = {
                   "on_button1_clicked" : self.on_button1_clicked,
                   "on_entry1_activate" : self.on_button1_clicked,
                   "on_main_destroy" : gtk.main_quit
}
        # Autoconectamos las señales.
        self.widgets.signal_autoconnect(signals)

        # Del archivo glade obtenemos los widgets label1 y entry1.
        # Hay otra manera de hacerlo usando métodos especiales como __getitem__.
        self.label1 = self.widgets.get_widget("label1")
        self.entry1 = self.widgets.get_widget("entry1")

        def on_button1_clicked(self, widget):
            text = self.entry1.get_text()
            self.label1.set_text(text)

# Finalmente instanciamos nuestra clase.
if __name__ == "__main__":
    Gui()
    gtk.main()