Eventos en TkInter

Antonio Castro acastro en ciberdroide.com
Lun Sep 13 13:40:47 CEST 2004


On Mon, 13 Sep 2004, Chema Cortés wrote:

> On Sunday 12 September 2004 20:08, Antonio Castro wrote:
>
> > Me gustaría tratar los campos de entrada de forma que cuando alguien
> > salga de un campo, (en el cual se supone puede haber ocurrido una
> > modificación del mismo), se pueda asociar alguna acción como por
> > ejemplo propagar una serie de cambios, etc. He probado con una
> > serie de eventos:
> >
> > <Return>,<Tab>,<Shift-Tab>, y otros pero  <Shift-Tab>, no mefunciona
> > y además hay un problema mayor.
> >
> > Si el usuario sale del campo haciendo click con el ratón en un
> > campo distinto, el evento no puede capturarse ya que se produce en ese
> > nuevo campo y asociar un evento a cada campo me parece una chapuza.
> >
> > Debería existir alguna forma que permita detectar la perdida del foco
> > sobre un campo y tratarla con un evento.
>
> Efectivamente, para eso están los eventos '<FocusIn>' y '<FocusOut>':
>
> import Tkinter
>
> def gotFocus(event):print "Focus in"
> def lostFocus(event):print "Focus out"
>
> r=Tkinter.Tk()
> e1=Tkinter.Entry(r)
> e1.bind("<FocusIn>",gotFocus)
> e1.bind("<FocusOut>",lostFocus)
> e1.pack()
> Tkinter.Entry(r).pack()
> r.mainloop()
>
>
> Te aconsejo éste enlace para la documentación de Tkinter:
> http://effbot.org/books/tkinterbook/
>
> El tema de los eventos está tratado en:
> http://effbot.org/zone/tkinter-events-and-bindings.htm

Muchas gracias funciona perfectamente. Lo busque por un montón de sitios
sin encontralo y ahora miraré con calma esa referencia.


-- 
Un saludo
Antonio Castro

       /\     /\
         \\W//
        _|0 0|_
+-oOOO-(___o___)-OOOo---------------------+
| . . . . U U . Antonio Castro Snurmacher |
| . . . . . . . acastro en ciberdroide.com   |
+()()()---------()()()--------------------+




Más información sobre la lista de distribución Python-es