[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