easygui entrybox() を提示し、ユーザー入力を受け取るとこれを無期限にループし続ける非常に単純なアプリを作成しました。
これはNoneを返すため、キャンセルボタンを使用してプログラムを終了できますが、標準の「閉じる」ボタンを使用してプログラムを終了できるようにしたいと考えています。(つまり、Windows ウィンドウの右上、Mac ウィンドウの左上) このボタンは現在何もしません。
easygui モジュールを見ると、次の行が見つかりました。
root.protocol('WM_DELETE_WINDOW', denyWindowManagerClose )
これが犯人のようです。私は TKinter の専門家ではありませんが、このハンドラーを変更して希望どおりに動作させる方法を見つけることができるでしょう。
ただし、easygui モジュールを台無しにしたくないので、メイン スクリプトからこの動作をオーバーライドし、閉じるボタンでプログラムを完全に閉じるか、None を返す方法はありますか?