質問するログイン新規登録

回答編集履歴

1

サンプルコードへのリンクを追加

2021/05/07 01:32

投稿

teamikl
teamikl

スコア8824

answer CHANGED
@@ -25,6 +25,24 @@
25
25
  root.mainloop() 前に root.after_idle(ok_click) とします。
26
26
 
27
27
  ----
28
+ 追記: 内容的に、コードの一部を修正して動くような問題ではなく、設計から見直しが必要です。
29
+ 概要だけでの把握は難しいと思うので、関連の有りそうなサンプルコードを載せます。
30
+
31
+ - [repl.it ProgressBar](https://replit.com/@MiKLTea/TkProgressBar#main.py)
32
+  queue を使う際の注意点。(メッセージの頻度について)
33
+ - [repl.it TkThreadProcess](https://replit.com/@MiKLTea/TkThreadProcess#test_thread.py)
34
+  queue を使い、サブスレッドからメインスレッドにメッセージを送るサンプル
35
+ - [repl.it TestTkThreadQueue](https://replit.com/@MiKLTea/TestTkQueueThread#test01.py)
36
+  queue を使い、メインスレッドからサブスレッドにメッセージを送るサンプル
37
+
38
+ ※ 過去の質問で作成したコードもあるため、余分な情報も含まれてますが、
39
+ 関係なさそうな部分は読み飛ばしてください。
40
+
41
+ 関連の有りそうな用語
42
+ - GUI については、イベント駆動型、イベントループ
43
+ - マルチスレッド、排他制御、スレッド間通信 (いくつか方法はありますが、同期Queueを使う方法)
44
+
45
+ ----
28
46
  他の問題点
29
47
 
30
48
  - win.mainloop() の win は、事前に破棄 (win.destroy) されてます。