回答編集履歴
1
コードの内容修正
answer
CHANGED
@@ -1,9 +1,25 @@
|
|
1
|
-
下記のようにするといかがでしょうか。
|
1
|
+
修正しました。下記のようにするといかがでしょうか。
|
2
2
|
|
3
3
|
```python
|
4
|
+
import tkinter as tk
|
5
|
+
|
6
|
+
root = tk.Tk()
|
7
|
+
|
8
|
+
class App:
|
9
|
+
count = 0
|
10
|
+
def btn_action(self, event):
|
11
|
+
self.count += 1
|
12
|
+
# コンソールへの出力
|
13
|
+
print(self.count)
|
14
|
+
# ボタンのラベル変更
|
15
|
+
event.widget.config(text="count: %s" % self.count)
|
16
|
+
|
4
17
|
app = App()
|
5
|
-
btn = tk.Button(root,
|
18
|
+
btn = tk.Button(root,text="count")
|
6
|
-
btn.bind("<Button-1>",
|
19
|
+
btn.bind("<Button-1>",app.btn_action)
|
20
|
+
|
21
|
+
btn.pack()
|
22
|
+
root.mainloop()
|
7
23
|
```
|
8
24
|
|
9
25
|
bindの第2引数はコールバックしたいメソッドを指定します。
|
@@ -15,4 +31,13 @@
|
|
15
31
|
Traceback (most recent call last):
|
16
32
|
File "<stdin>", line 1, in <module>
|
17
33
|
TypeError: 'int' object is not callable
|
18
|
-
```
|
34
|
+
```
|
35
|
+
|
36
|
+
---
|
37
|
+
追記:
|
38
|
+
失礼しました。
|
39
|
+
Tkの実行確認までしていなかったのでお手数おかけしました。
|
40
|
+
最初の解答内容で実行した際はbtn_actionに引数が2つ渡されている、というエラーになったのではないかと思います。
|
41
|
+
|
42
|
+
上記コードでは期待の動作となるでしょうか。
|
43
|
+
このコードではbtn_actionメソッドからreturn文を削除させて頂いています。
|