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

回答編集履歴

1

表現変更

2019/04/23 01:02

投稿

y.nakamura
y.nakamura

スコア190

answer CHANGED
@@ -1,9 +1,9 @@
1
- 1. `print(app.bt["text"],"押してる")`が実行されないのではなく、`onMouseMove`のブロックでは`app`が定義されておらずエラーが発生しています。
1
+ 1. `print(app.bt["text"],"押してる")`が実行されないのではなく、`onMouseMove`からは`app`を参照できないためエラーが発生しています。
2
2
  2. ラベルの文字を変更する方法は、`app.lb["text"] = "文字列"`です。
3
3
 
4
- まずthread1でappを参照するために、`app`をグローバル変数にしましょう。
4
+ まず`onMouseMove``app`を参照するために、`app`をグローバル変数にしましょう。
5
- thread1とthread2の中で`global app`と宣言すると、グローバル変数になります。
5
+ `thread1``thread2`の中で`global app`と宣言すると、グローバル変数になります。
6
- すると`onMouseMove`で`app`を参照することができるので、`app.lb["text"] = "押してる"`を実行すると、ラベルを変更することができます。
6
+ すると`onMouseMove`で`app`を参照することができるので、`app.lb["text"] = "文字列"`を実行すると、ラベルを変更することができます。
7
7
 
8
8
  まとめると以下のようになります。(クリックした座標をラベルに表示します)
9
9
  ```
@@ -42,7 +42,7 @@
42
42
  self.y_pos = y
43
43
  #app.lb["text"] = "押されたよー"
44
44
  print("画面押した")
45
- #print(app.bt["text"],"押してる")
45
+ # print(app.bt["text"],"押してる")
46
46
  app.lb["text"] = "x={},y={}".format(x, y)
47
47
 
48
48
  obj = Camera()