Bueno, viendo que hay nivel en gtk...

Lorenzo Gil Sanchez lgs en sicem.biz
Mie Ene 7 12:41:38 CET 2004


El mié, 07-01-2004 a las 12:26, Marcos Sánchez Provencio escribió:
> En Linux, responde a la tecla Intro del teclado numérico, pero no el 
> retorno (la tecla de debajo del borrado). Si me sitúo en un combo, va 
> como me esperaba. En Windows (rdesktop), ni siquiera responde el Intro, 
> salvo en el combo, que va bien.
> 
Es raro eso, a mi en Linux me funciona el Retorno, Intro no tiene mi
portatil. En Windows (rdesktop) me funciona tambien. A ver si luego
tengo tiempo y hago un programilla que haga eso.

> Más cositas, ¿cómo puedo sacar un mensaje en la barra de tareas y que se 
> vea? Lo que quiero es que, al pulsar el retorno, vayan saliendo mensajes 
> del estilo de 'Conectando a servidor', 'verificando info del usuario', 
> 'recuperando metadatos'... Pero como el control está en el curro de 
> verdad, no se refrescan los datos hasta que no se para por un error. Lo 
> que buscaba era un .refresh o un doevents de VB. Se me ocurre hacer el 
> enganche a la bd con un hilo aparte, pero ¿hay algo más sencillo?
> 
Este es un problema tipico no solo de PyGTK sino de cualquier programa
que use una GUI. Aqui te dejo algunos enlaces que espero que te ayuden:

Alguien pregunto lo mismo en la FAQ hace algun tiempo. Mira la FAQ
Marcos, es de las mejores que he visto.
http://www.async.com.br/faq/pygtk/index.py?req=show&file=faq03.007.htp

James Henstridge (creador de PyGTK) da una solucion generica a tu
problema usando generadores de Python:
http://www.daa.com.au/pipermail/pygtk/2001-October/002056.html

La misma idea pero explicada de una forma mas extensa la tienes en un
articulo de Developer Works:
http://www-106.ibm.com/developerworks/linux/library/l-pythrd.html

Suerte con la barra de estado

Lorenzo

> Lorenzo Gil Sanchez escribió:
> > Para conseguir lo que dices hay que tener en cuenta que tipo de
> > controles tendra tu dialogo.
> > 
> > Cuando tu pulsas enter y el foco no esta en el boton de aceptar el
> > control que tenia el foco es el que recibe el evento key-press. Por
> > simplificar, supongamos este dialogo:
> > 
> > Nombre:    ____________
> > Apellidos: ____________
> > 
> > OK CANCELAR
> > 
> > 
> > Donde hay dos gtk.Labels, dos gtk.Entry  y dos gtk.Buttons.
> > 
> > De las etiquetas no nos preocupamos porque no pueden tener el foco. Si
> > el foco lo tiene el boton OK estamos en el caso mas favorable porque al
> > pulsar enter efectivamente es nuestro boton predeterminado. Si estamos
> > en el boton Cancelar y le damos a enter lo que queremos es cancelar el
> > dialogo por lo que las unicas opciones que nos quedan es que nos
> > encontremos en los gtk.Entry de nombre y apellidos.
> > 
> > Todo este rollo para llegar a lo que tu quieres: que mientras estas
> > rellenando el nombre, si le das a enter se pulse el boton OK. Pues bien,
> > tienes que activar una propiedad del gtk.Entry:
> > 
> > http://www.pygtk.org/pygtk2reference/class-gtkentry.html#method-gtkentry--set-activates-default
> > 
> > nombreEntry.set_activates_default(gtk.TRUE)
> > 
> > Eso deberia funcionar. Evidentemente si tienes varios gtk.Entry, debes
> > hacerlo para cada uno de ellos. En Glade, la propiedad del gtk.Entry se
> > llama 'Activar predeterminado'
> > 
> > Un saludo
> > 
> > Lorenzo
> > 
> > El lun, 05-01-2004 a las 16:06, Marcos Sánchez Provencio escribió:
> > 
> >>¿Cómo hago un botón por defecto en un diálogo con glade? Lo que quiero 
> >>es poder rellenar un dato y darle al retorno, en lugar de hacer clic en 
> >>el botón de aceptar o tabular hasta el botón.
> >>
> >>He puesto las propiedades 'puede ser predeterminado' y 'predeterminado' 
> >>a verdadero. Sale una marquita en la esquina del botón, pero no responde 
> >>al enter...
> >>
> >>_______________________________________________
> >>Python-es mailing list
> >>Python-es en aditel.org
> >>http://listas.aditel.org/listinfo/python-es
> > 
> > 
> > 
> > _______________________________________________
> > Python-es mailing list
> > Python-es en aditel.org
> > http://listas.aditel.org/listinfo/python-es
> 
> 
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es




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