[Python-es] Ayuda con la manera de salir de un dialogo de wxpython

Héctor J. Benítez Corredera facturasxebolax en gmail.com
Mar Jul 21 03:11:04 EDT 2020


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

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20200721/c5edc69e/attachment.html>


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