Cómo eliminar una aplicación WxPython cuando el usuario hace clic en el cierre de un marco
Se supone que la aplicación se cierra cuando hago clic en el botón de cierre del marco principal. Pero la forma en que lo implementé, se cierra con unSegmentation fault
cuando hago clic en el botón
Me preocupa el cierre seguro del programa, ya que tendré que persistir en el disco más tarde.
Cuál es elforma no violenta adecuada ¿Para terminar una aplicación WxPython a través de un botón de cierre?
Aquí está el bucle "principal" del programa que implementé:
if __name__ == "__main__":
app = wx.App(False)
mf = MainFrame(None, title='Spectrum Checker') #subclasses frame
mf.register_close_callback( app.Destroy) #what is the apt func?
app.MainLoop()
Aquí es cómo se implementa la devolución de llamada dentro de laMainFrame
:
def __init__(self, parent, title):
...
self.Bind(wx.EVT_CLOSE, self._when_closed)
...
def _when_closed(self, event):
if self.__close_callback__:
self.__close_callback__()