No funciona, el callback al pulsar el botón izquierdo solo devuelve un solo 
parámetro que es el propio icono.
Según la documentación los eventos del StatusIcon son activate (botón 
izquierdo), popup-menu (botón derecho) y size-change pero no es necesario, y 
ninguno devuelve el objeto event.
Pongo un ejemplo del código:

class StatusIcon:
    def __init__(self):
        self.statusicon = gtk.StatusIcon()
        self.statusicon.set_from_stock(gtk.STOCK_HOME) 

        self.statusicon.connect("popup-menu", self.right_click_event)
        self.statusicon.connect('activate', self.left_click_event)
                
    def left_click_event(self, icon):
        print 'Botón izquierdo'
        
    def right_click_event(self, icon, button, time):
        print 'Botón derecho'
        

        # Código del menú aquí


s = StatusIcon()
gtk.main()


________________________________
De: Carlos Zuniga <[email protected]>
Para: La lista de python en castellano <[email protected]>
Enviado: domingo 4 de septiembre de 2011 2:28
Asunto: Re: [Python-es] Icono en bandeja del sistema y ratón del Mac

2011/9/3 alfonso saavedra <[email protected]>:
> Estoy usando Gtk y Python 2. Perdón por no ponerlo

En el objeto evento en el callback hay una propiedad state que
devuelve una mascara de las teclas modificadoras presionadas:

    def on_click(widget, event):
        if event.state & gtk.gdk.CONTROL_MASK:
            print "Click con Control"

Aquí hay una lista de las teclas:
http://www.pygtk.org/pygtk2tutorial/sec-EventHandling.html

Saludos
-- 
Linux Registered User # 386081
A menudo unas pocas horas de "Prueba y error" podrán ahorrarte minutos
de leer manuales.
_______________________________________________
Python-es mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/
_______________________________________________
Python-es mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a