[Python-es] [Fwd: Ayuda con PYGTK]

manuel lalo_america11 en hotmail.com
Vie Mar 4 20:12:35 CET 2011


Hola.

Gracias por la respuesta, pero en lo que se refiere a los botones, creo 
que sería algo un poco más complicado.

Explico.

Como el programa está pensado para que se pueda utilizar por una persona 
ciega sin tener que usar ningún tipo de ayuda técnica, necesito hacer 
que el programa me pueda decir cuando el foco del teclado está en un 
botón, la función enter funcionaba pero con el mouse creo, ya que al 
intentar probarlo para la reproducción del sonido no hace el efecto 
deseado, el efecto final es que cuando yo pulse la flecha, hacia la 
derecha por ejemplo llegue al botón que dice salir, y que con un método 
o una señal(había escuchado algo acerca de una tal gtk.gdk.focus_changed 
pero no sé si exista o esté mal escrita) lo pueda conectar a una función 
que hará que pygame.mixer.sound reprodusca un sonido de una voz grabada 
con la palabra salir, así un ciego puede escuchar el menú, pero sería 
poco práctico que para poder saber el nombre del botón se tenga que 
pulsar dicho botón.

Lo de las ventanas no se me había ocurido, pensaba que había otro método 
o algo así, gracias.

Saludos

El 04/03/11 11:27, craf escribió:
> --------- Mensaje reenviado --------
>> De: manuel<lalo_america11 en hotmail.com>
>> Reply-to: La lista de python en castellano<python-es en python.org>
>> Para: La lista de python en castellano<python-es en python.org>
>> Asunto: [Python-es] Ayuda con PYGTK
>> Fecha: Fri, 4 Mar 2011 08:40:22 -0600
>>
>> Hola.
>>
>> Soy nuevo usuario de la lista y ya tengo dos preguntas, espero y no sean
>> demaciado tontas, pero espero y me puedan ayudar ya que no pude
>> encontrarlo mucho por otros lados.
>>
>> Las cosas van sobre PYGTK.
>>
>> Lo que pasa es que estoy haciendo la parte gráfica de una aplicación que
>> un compañero programó, lo que tengo que hacer solamente es crear el menú
>> gráfico que sirva de acceso a las aplicaciones y pues he decidido usar
>> PYGTK sobre GNU/Linux ya que soy ciego y las librerías GTK+ conectan con
>> las de accesibilidad(AT-SPI) a diferencia de las qt o java(java tiene su
>> propio toolkit, pero no es muy bueno).
>>
>> Lo que quisiera hacer es que cuando el usuario se posisione sobre un
>> botón por ejemplo, se pudiera reproducir un sonido, esto lo hago porque
>> el requisito del programa es que pueda ser inclusivo para todos, esto
>> significa que yo lo pueda usar sin mi lector de pantalla, para esto
>> quisiera hacer una grabación de voz para cada botón, pero no sé como
>> hacer que pygtk me diga en que botón está el usuario para decirle luego
>> que reprodusca el sonido que quiera.
>>
>> Y la otra consulta es: estuve leyendo el manual de PYGTK en español y
>> hay algo que nunca me quedó claro, cuando se crea una ventana no hay
>> modo de cerrarla pero sin llamar a gtk.main_quit(), ya que esto la
>> destruye, pero no me deja abrir otra, aún no sé como hacer para que se
>> cierre la ventana principal y solo quede la ventana nueva, o como hacer
>> para lograr eso, como en todos los programas, uno selecciona una opción
>> y se cambia la ventana, pero como se hace eso en pygtk?
>>
>> Gracias de antemano y perdón por las molestias.
>>
>> saludos
>>
>> _______________________________________________
>> Python-es mailing list
>> Python-es en python.org
>> http://mail.python.org/mailman/listinfo/python-es
>> FAQ: http://python-es-faq.wikidot.com/
> Hola Manuel
>
> Para saber sobre que botón esta el cursor del usuario, puedes usar el
> evento 'enter' y el evento 'leave'.
>
> Te adjunto el código:
>
> ------------------------------------------------------------------
> import gtk
>
> class Button:
>      def __init__(self):
>          window = gtk.Window()
>          button = gtk.Button("Button")
>
>          window.connect("destroy", lambda w: gtk.main_quit())
>          button.connect("enter", self.button_enter)
>          button.connect("leave", self.button_leave)
>
>          window.add(button)
>          window.show_all()
>
>      def button_enter(self, widget):
>          print "El usuario esta sobre el boton"
>
>      def button_leave(self, widget):
>          print " El usuario salio del boton"
>
> Button()
> gtk.main()
> ------------------------------------------------------------
>
> Con respecto a la creación de una ventana secundaria, para que la puedas
> mostrar ,y ocultar la ventana principal, debes utilizar el método
> 'hide'.
>
> Aquí un ejemplo:
> ------------------------------------------------------------------
> import gtk
>
> class Button:
>      def __init__(self):
>          self.ventanaprincipal = gtk.Window()
>          self.ventanaprincipal.set_title('Ventana Principal')
>          self.button = gtk.Button("Mostrar ventana Secundaria")
>
>          self.ventanaprincipal.connect("destroy", lambda w:
> gtk.main_quit())
>          self.button.connect("clicked", self.button_clicked)
>
>
>          self.ventanaprincipal.add(self.button)
>          self.ventanaprincipal.show_all()
>
>      def button_clicked(self, widget):
>          self.ventanaprincipal.hide()
>          self.ventanasecundaria = gtk.Window()
>          self.ventanasecundaria.set_title('Ventana Secundaria')
>          self.ventanasecundaria.show()
>
>
>
> Button()
> gtk.main()
>
> ------------------------------------------------------------------
>
> Espero que te sirvan de algo los ejemplos y suerte en tu proyecto.
>
> Saludos.
>
> Cristian.
>
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/


-- 
Atte: Manuel Eduardo Cortéz Vallejo http://livemanuel.wordpress.com
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20110304/c3594fd2/attachment.html>


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