回答編集履歴

4

ストップ処理を変更

2019/11/30 10:34

投稿

shiracamus
shiracamus

スコア5406

test CHANGED
@@ -38,7 +38,7 @@
38
38
 
39
39
  else:
40
40
 
41
- print("stop", count)
41
+ cancel_timer()
42
42
 
43
43
 
44
44
 
@@ -51,6 +51,8 @@
51
51
  root.after_cancel(timer)
52
52
 
53
53
  timer = None
54
+
55
+ print("stop", count)
54
56
 
55
57
 
56
58
 

3

キャンセル処理のサンプルコード追加

2019/11/30 10:34

投稿

shiracamus
shiracamus

スコア5406

test CHANGED
@@ -5,3 +5,77 @@
5
5
 
6
6
 
7
7
  root.after(ミリ秒数, 呼び出す関数)
8
+
9
+
10
+
11
+ キャンセル処理のサンプルコードを書いてみました。
12
+
13
+
14
+
15
+ ```python
16
+
17
+ import tkinter as tk
18
+
19
+ from tkinter import *
20
+
21
+
22
+
23
+ count = 1
24
+
25
+
26
+
27
+ def countup():
28
+
29
+ global timer
30
+
31
+ global count
32
+
33
+ count += 1
34
+
35
+ if timer and count < 1000:
36
+
37
+ root.after(10, countup)
38
+
39
+ else:
40
+
41
+ print("stop", count)
42
+
43
+
44
+
45
+ def cancel_timer():
46
+
47
+ global timer
48
+
49
+ if timer:
50
+
51
+ root.after_cancel(timer)
52
+
53
+ timer = None
54
+
55
+
56
+
57
+ def key(event):
58
+
59
+ print("pressed", repr(event.char), "count", count)
60
+
61
+ cancel_timer()
62
+
63
+
64
+
65
+ root = tk.Tk()
66
+
67
+ frame = Frame(root, width=100, height=100)
68
+
69
+ frame.bind("<Key>", key)
70
+
71
+ frame.focus_set()
72
+
73
+ frame.pack()
74
+
75
+ timer = root.after(10000, cancel_timer)
76
+
77
+ root.after(10, countup)
78
+
79
+ root.mainloop()
80
+
81
+ ```

2

fix typo

2019/11/30 10:31

投稿

shiracamus
shiracamus

スコア5406

test CHANGED
@@ -1,6 +1,6 @@
1
1
  time.sleepを使うとtkinter自体の動作も止まります。
2
2
 
3
- root.afterを使って tkinerから指定時間後に関数を呼び出してもらうようにしましょう。
3
+ root.afterを使って tkinterから指定時間後に関数を呼び出してもらうようにしましょう。
4
4
 
5
5
 
6
6
 

1

ミリ をカタカナに変更

2019/11/30 04:30

投稿

shiracamus
shiracamus

スコア5406

test CHANGED
@@ -4,4 +4,4 @@
4
4
 
5
5
 
6
6
 
7
- root.after(みり秒数, 呼び出す関数)
7
+ root.after(ミリ秒数, 呼び出す関数)