回答編集履歴
2
CallAfter について追記
answer
CHANGED
@@ -10,6 +10,8 @@
|
|
10
10
|
他スレッド⇒メイン(GUI)スレッドへの簡単な通知方法は、
|
11
11
|
wx.CallAfter に関数を渡す方法です。
|
12
12
|
|
13
|
+
※ wx.CallAfter はスレッドセーフな関数で、内部で同期キュー相当の仕組みが使われてます。
|
14
|
+
|
13
15
|
```python
|
14
16
|
|
15
17
|
from threading import Thread
|
@@ -45,4 +47,7 @@
|
|
45
47
|
|
46
48
|
----
|
47
49
|
関連
|
48
|
-
- [wxPython wiki - LongRunningTasks](https://wiki.wxpython.org/LongRunningTasks)
|
50
|
+
- [wxPython wiki - LongRunningTasks](https://wiki.wxpython.org/LongRunningTasks)
|
51
|
+
- [wxPython wiki - CallAfter](https://wiki.wxpython.org/CallAfter)
|
52
|
+
Thread/CallAfter のサンプルコード有。
|
53
|
+
> It is a safe way of requesting action of a Window from another thread.
|
1
文章の修正
answer
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
- 時間の掛かる処理は、バックグラウンド(別スレッド)で行います。
|
4
4
|
|
5
5
|
バックグラウンドの処理が終わり次第、ウィンドウを閉じるのですが、
|
6
|
-
この時、別スレッド側から直接 GUI を操作してはいけ
|
6
|
+
この時、別スレッド側から直接 GUI を操作してはいけなくて、
|
7
7
|
スレッドセーフな手段、同期キュー等の仕組みを通じて、
|
8
8
|
メインスレッドのイベントループに通知します。
|
9
9
|
|