У меня есть приложение pygtk, работающее на Windows и Linux. Основной графический интерфейс пользователя имеет функцию закрытия, которая вызывается из события удаления (когда пользователь нажимает кнопку X в окне) или из меню через FILE-> QUIT
код выглядит так
def close_down(self):
self.hide_gui()
#do some cleanup stuff here, close down a log file etc...
gtk.main_quit()
def on_close_down_activate(self, widget): # From menu
self.close_down()
print("Closed")
def on_main_gui_delete_event(self, window, event): # From window X button
self.close_down()
print("Closed")
Но когда пользователь нажимает кнопку X в окне, в строку cmd выводится слово «Закрыто», но приложение зависает и никогда не возвращает управление строкой cmd, если я не убью python через диспетчер задач. Если пользователь выбирает «Выход» в меню «Файл», приложение выводит слово «Закрыто» и возвращает управление в строку cmd.
В Linux он работает как положено. Gtk на окнах поддерживает какую-то работу?