私はWindowsとLinux上で動作するpygtkアプリケーションを持っています。メインGUIは、(ユーザーがウィンドウ上の[X]ボタンをクリックする)削除イベントから呼び出される関数を閉鎖またはファイル - を経由して、メニュー>からコードがこのpygtk appはwin32のdeleteイベントで終了しません
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ボタンをクリックすると、 "Closed"という単語がcmd行に出力されますが、タスクマネージャーを使用してPythonを終了しない限り、アプリケーションはハングし、決してcmd行を制御しません。ユーザーがファイルメニューからQuitを選択すると、アプリケーションは単語「Closed」を表示し、制御をcmd行に返します。
Linuxでは、期待どおり動作します。ウィンドウ上のgtkはいくつかのことを続けていますか?