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

回答編集履歴

3

誤字訂正

2020/08/15 01:46

投稿

teamikl
teamikl

スコア8817

answer CHANGED
@@ -15,7 +15,7 @@
15
15
 
16
16
  QThread は Pythonのスレッドと同じように継承でも使えるのですが、
17
17
  継承による利用では、イベントループを呼び出す処理を上書きしてしまう為、
18
- イベントループを持ちる処、QTimer や、
18
+ イベントループを必要とする処、QTimer や、
19
19
  一部スレッドに対するシグナル・スロットの利用に制限が掛かります。
20
20
 
21
21
  ----

2

誤字修正

2020/08/15 01:46

投稿

teamikl
teamikl

スコア8817

answer CHANGED
@@ -4,7 +4,7 @@
4
4
  QThread はスレッド毎に個別のイベントループを持ちます。
5
5
 
6
6
 
7
- QTread の使い方は幾つかあるのですが、継承による方法ではなく
7
+ QThread の使い方は幾つかあるのですが、継承による方法ではなく
8
8
  スレッドで処理したいことを行う worker を作成し、
9
9
  moveToThread を使うアプローチを取ってください。
10
10
 

1

追記

2020/08/14 00:45

投稿

teamikl
teamikl

スコア8817

answer CHANGED
@@ -21,8 +21,12 @@
21
21
  ----
22
22
 
23
23
  また、Pythonのスレッド / QThread に限らず、
24
- GUI の更新を別スレッドから直接行うのは問題があるので、
24
+ 描画更新を別スレッド直接行うのは問題があるので、
25
25
 
26
26
  Pythonのスレッドを使う場合は、イベント等の通知の仕組み、
27
27
  QThread を使う場合はシグナル・スロットを用いて、
28
- 描画の更新処理はメインスレッド側で行う必要があります。
28
+ 描画の更新処理はメインスレッド側で行う必要があります。
29
+
30
+ 追記: タイマーでは描画更新処理を直接行うのではなく、
31
+ スレッドではデータのみ読み出して、シグナルを発生させるようにします。
32
+ メインスレッド側では、そのシグナルに描画更新処理のスロットを接続します。