回答編集履歴

1

補足を追加

2021/09/16 05:56

投稿

Daregada
Daregada

スコア11990

test CHANGED
@@ -7,3 +7,17 @@
7
7
 
8
8
 
9
9
  もっとも、その間もイベントは貯えられているので、ENDボタンを押し(この時点では何も起きない)→plt.showのウィンドウを閉じる→(このタイミングでENDボタンが押されて)rootウィンドウが閉じる、という動作になります。
10
+
11
+
12
+
13
+ ---
14
+
15
+ IDLEから実行した場合は、rootウィンドウを閉じても、それまでに開いたplt.showのウィンドウは閉じません。これは、IDLEのウィンドウ("IDLE Shell X.X.X"と書いてあるほう)でPythonのプロセスが実行中のままになっていて、その子プロセスであるplt.showのウィンドウも閉じないのだと思われます。
16
+
17
+
18
+
19
+ 実際に、IDLEのウィンドウ("IDLE Shell X.X.X"と書いてあるほう)を閉じると、plt.showのウィンドウも一緒に閉じますし、「Run」→「Run... Customized」(`Shift-F5`キー)でコードを実行する際に「Restart Shell」にチェックを付けても、古いplt.showのウィンドウは閉じます。
20
+
21
+
22
+
23
+ ということで、IDLEでは「ENDボタンを押すとplt.showのウィンドウも閉じる」という動作を実現するのは無理ですね。Visual Studio Codeへの移行を考えられてはどうでしょうか。