Приложение должно закрываться, когда я нажимаю кнопку закрытия основного фрейма. Но как я его реализовал, он завершает работу с помощью Segmentation fault
, когда я нажимаю кнопку.
Я беспокоюсь о безопасном завершении работы программы, потому что мне нужно будет продолжить работу на диске позже.
Что такое правильный ненасильственный способ, чтобы завершить приложение WxPython, нажав кнопку закрытия?
Вот "основной" цикл реализованной мной программы:
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()
Вот как реализуется обратный вызов в 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__()