mmmm mira ver si te puede valer lo siguiente: import wx
class Test(wx.Frame): def __init__(self): super().__init__(None, -1, title='Event Test', size=(200, 200)) panel = wx.Panel(self) btnSalir = wx.Button(panel, wx.ID_CANCEL, 'salir') btnSalir.Bind(wx.EVT_BUTTON, self.OnKeyUP) self.Bind(wx.EVT_CLOSE, self.onExit) # panel.SetFocus() self.Bind(wx.EVT_CHAR_HOOK, self.OnKeyUP) def OnKeyUP(self, event): if event.GetEventType() == 10012: # 10012 wx.EVT_BUTTON; 10055-> wx.EVT_CHAT_HOOK self.close() else: print("KEY UP!") keyCode = event.GetKeyCode() if keyCode == wx.WXK_ESCAPE: self.Destroy() event.Skip() def onExit(self, event): print('onExit') self.Destroy() class App(wx.App): """Application class.""" def OnInit(self): self.frame = Test() self.frame.Show() self.SetTopWindow(self.frame) return True if __name__ == '__main__': app = App() app.MainLoop() El mar., 21 jul. 2020 a las 12:54, Héctor J. Benítez Corredera (< facturasxebo...@gmail.com>) escribió: > Buenas, lo primero gracias por contestar. > > > > Pero culpa mía al no comentar que es una clase construida desde cero como > una ventana de dialogo. > > > > Bien dicho dialogo no es predefinido de los que trae wxpython por lo que > tiene un botón cerrar y más cosas. > > > > Mi intención es contener tanto la llamada al Escape como la llamada al > botón en la misma definición. > > > > Es un poco raro por que como lo tengo cada llamada a su definición > funciona todo perfectamente pero por motivos necesarios a quien va dirigido > el proyecto es necesario que este en la misma definición. > > > > Lo que no entiendo es capturar el evento de botón pulsado y al igual que > con evento.GetCode() capturo la tecla algo parecido para cuando sea pulsado > el botón. > > > > > > Saludos y gracias otra vez. > > El 21/07/2020 a las 12:27, PeRy escribió: > > Hola compañero, si es un *wx.Dialog* se haría muy fácilmente con un > wx.ID_CANCEL en el id del boton Salir de esta manera: Cuando > presionaas ESCAPE, wx buscaria el ID wx.CANCEL y en caso de que existiera > enviaria wx.EVT_BUTTON al boton con esa id (wx.ID_CANCEL). > > > _______________________________________________ > Python-es mailing > listPython-es@python.orghttps://mail.python.org/mailman/listinfo/python-es > > _______________________________________________ > Python-es mailing list > Python-es@python.org > https://mail.python.org/mailman/listinfo/python-es >
_______________________________________________ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es