[Python-es] [Fwd: Ayuda con PYGTK]
craf
prog en vtr.net
Vie Mar 4 18:27:47 CET 2011
--------- 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.
------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/
Más información sobre la lista de distribución Python-es