回答編集履歴
1
表現変更
answer
CHANGED
@@ -1,9 +1,9 @@
|
|
1
|
-
1. `print(app.bt["text"],"押してる")`が実行されないのではなく、`onMouseMove`
|
1
|
+
1. `print(app.bt["text"],"押してる")`が実行されないのではなく、`onMouseMove`からは`app`を参照できないためエラーが発生しています。
|
2
2
|
2. ラベルの文字を変更する方法は、`app.lb["text"] = "文字列"`です。
|
3
3
|
|
4
|
-
まず
|
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()
|