llamar un evento desde otro con wx

damufo damufo en gmail.com
Mie Jun 18 12:40:35 CEST 2008



Oswaldo Hernández escribiu:
> damufo escribió:
>> Hola:
>> La cuestión es la siguiente, tengo un evento
>>
>>    def on_btn_abrir_button(self, event):
>>        pass
>>        event.Skip()
>>
>>    def on_lst_eventos_leftdclick(self, event):
>>        self.on_btn_abrir_button(wx.EVT_BUTTON)
>>        event.Skip()
>>
>> el error que me lanza es
>> AttributeError: 'PyEventBinder' object has no attribute 'Skip'
>> Alguien sabe que estoy haciendo mal?
>> Pienso que el wx.EVT_BUTTON no es correcto pero no se que es lo que 
>> tengo que poner.
> 
> Si en 'on_btn_abrir_button' no utilizas niguna propiedad o metodo del 
> evento puedes enviarle un None o un False:
> 
> def on_btn_abrir_button(self, event):
>     pass
>     if event:
>         event.Skip()
> 
> def on_lst_eventos_leftdclick(self, event):
>     self.on_btn_abrir_button(None)
>     event.Skip()
> 
> Personalmente creo que para los casos en que dos eventos realizan la 
> misma acción es preferible:
>     Crear una tercera funcion que es llamada por las dos funciones de 
> evento.
>     ó crear una unica funcion de eventos y hacer Bind de los dos eventos 
> a la misma funcion
> 

Gracias!, el caso es que eso ya lo probara, los errores que dan son, 
None y False, respectivamente.

AttributeError: 'NoneType' object has no attribute 'Skip'

AttributeError: 'bool' object has no attribute 'Skip'

He probado otra cosa que no da error y es conectar (no se si se dice 
así) directamente el evento de la list con el botón de abrir

         self.lst_eventos.Bind(wx.EVT_LEFT_DCLICK,
               self.on_btn_abrir_button)


Cuento un poco de que va la cosa. Tengo un a lista en la se selecciona 
una fila y despues, al pulsar sobre el botón "abrir" este habre otra 
ventana en la que muestra la información de la fila seleccionada. Lo que 
quería es que exista la posibilidad de que con un doble clic sobre la 
fila se abra directamente la ventana.

No se si es esta la forma correca de hacerlo?
------------ próxima parte ------------
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes


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