Buenos días. Me gustaría pedir ayuda con algo que por más que busco y le doy vueltas no consigo hacer. Posiblemente sea fácil la solución pero estoy ofuscado y no doy con la vuelta.

Bien en wxpython tengo una ventana de dialogo la cual deseo que se cierre tanto con un botón dedicado a ello como pulsando escape.

Para ello tengo esto:

        self.closeBTN = wx.Button(Panel, wx.ID_ANY, _("&Close"))

self.Bind(wx.EVT_BUTTON, self.onClose, self.closeBTN)

        self.Bind(wx.EVT_CHAR_HOOK, self.onEsc)

def onEsc(self, event):

if event.GetKeyCode() == wx.WXK_ESCAPE:

ConfigFileSave()

self.Destroy()

else:

event.Skip()

def onClose(self, event):

ConfigFileSave()

self.Destroy()

Bien esto funciona perfectamente, pero ahora mis preguntas.

1º Seria posible tener ligado las dos acciones a un solo def, algo a si:

Def onPrueba(self, event):

if event.GetKeyCode() == wx.WXK_ESCAPE:

ConfigFileSave()

self.Destroy()

elif >capturar el evento del botón al ser pulsado< == >saber cuando fue pulsado el botón<:

ConfigFileSave()

self.Destroy()

else:

event.Skip()

El planteamiento anterior lo conseguiría si no me equivoco definiendo los eventos a si:

self.Bind(wx.EVT_BUTTON, self.onPrueba, self.closeBTN)

self.closeBTN.Bind(wx.EVT_CHAR_HOOK, self.onPrueba)

2º Hay alguna otra manera de hacer lo que pretendo?

Espero haberme explicado y muchas gracias de antemano.

Cordiales saludos

_______________________________________________
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es

Responder a