Comment tuer un WxPython application lorsque l'utilisateur clique sur un cadre de proximité

L'application est censée se fermer lorsque je clique sur le bouton fermer de la fenêtre principale. Mais la façon dont j'ai mis en place, il se ferme avec une Segmentation fault quand je clique sur le bouton.

Je m'inquiète de la sécurité de l'arrêt du programme, parce que j'ai besoin de persister trucs disque plus tard.

Quel est le bonne façon non-violente de mettre fin à un WxPython demande si un bouton de fermeture?


Ici est le "principal" de la boucle du programme, j'ai mis en œuvre:

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

Ici est de savoir comment il est mis en œuvre le rappel à l'intérieur de la MainFrame:

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__()
InformationsquelleAutor Jesvin Jose | 2012-05-31