У меня есть gtk.Window, и мне нужно поймать закрытие. Мне нужно закрыть диалоговое окно «Показать сообщение» и нажать «Да», если окно должно быть закрыто, если нет окна «Показать».
Спасибо.
У меня есть gtk.Window, и мне нужно поймать закрытие. Мне нужно закрыть диалоговое окно «Показать сообщение» и нажать «Да», если окно должно быть закрыто, если нет окна «Показать».
Спасибо.
Обработка delete-event сигнал. Верните False для закрытия, True для отмены.
Вот как я его использую:
# in constructor:
self.connect('destroy', gtk.main_quit)
self.connect('delete-event', self.on_destroy)
def on_destroy(self, widget=None, *data):
# return True --> no, don't close
messagedialog = gtk.MessageDialog(parent=self, flags= gtk.DIALOG_MODAL & gtk.DIALOG_DESTROY_WITH_PARENT,
type=gtk.MESSAGE_QUESTION, buttons=gtk.BUTTONS_OK_CANCEL, message_format="Click on 'Cancel' to leave the application open.")
messagedialog.show_all()
result=messagedialog.run()
messagedialog.destroy()
if result==gtk.RESPONSE_CANCEL:
return True
return False