So beenden Sie eine WxPython-Anwendung, wenn der Benutzer auf das Schließen eines Frames klickt

Die Anwendung sollte geschlossen werden, wenn ich auf die Schaltfläche zum Schließen des Hauptrahmens klicke. Aber so wie ich es implementiert habe, hört es mit einem aufSegmentation fault wenn ich auf den Knopf klicke.

Ich mache mir Sorgen um das sichere Herunterfahren des Programms, da ich die Daten später auf der Festplatte speichern muss.

Was ist derrichtige gewaltfreie Art und Weise kann ich eine WxPython-Anwendung über die Schaltfläche "Schließen" beenden?

Hier ist die "Haupt" -Schleife des von mir implementierten Programms:

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()

So wird der Callback innerhalb der implementiertMainFrame:

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__()

Antworten auf die Frage(4)

Ihre Antwort auf die Frage