Обработчик для сигнала delete_event
должен возвращать True
, чтобы остановить окончательное разрушение окна при закрытии.
self.widget_a.connect('delete_event', self.on_widget_a_delete)
def on_widget_a_delete(self, widget, event):
widget.hide()
# do something
return True
Если вы хотите, чтобы окно было скрыто, есть встроеннаяярлык вы можете использовать:
self.widget_a.connect('delete_event', self.widget_a.hide_on_delete)