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

回答編集履歴

2

文章の修正

2020/12/13 04:18

投稿

teamikl
teamikl

スコア8817

answer CHANGED
@@ -26,9 +26,8 @@
26
26
  - timeout ミリ秒毎に `sg.TIMEOUT_KEY` イベントが発行されます。(キーは変更可能)
27
27
  - 開始時に時間を控えておいて、指定時間経過後に任意のコードを実行。
28
28
 
29
- ※ 注意点: 3秒後だから timeout=3000 とはしない。
29
+ ※ 注意点: 3秒後だから timeout=3000 とはしない。
30
30
   他のイベントも有る為、他の操作をすると意図するタイミングで timeout イベントが来ません。
31
-  「他のイベントが何もない場合に」 指定時間経過すると timeoutイベントとなってます。
32
31
 
33
32
  ----
34
33
  参考: タイマーを使うコード

1

追記: Tkinter のタイマーを使う方法

2020/12/13 04:18

投稿

teamikl
teamikl

スコア8817

answer CHANGED
@@ -34,4 +34,18 @@
34
34
  参考: タイマーを使うコード
35
35
 
36
36
  - [Timer Demo](https://github.com/PySimpleGUI/PySimpleGUI/blob/master/DemoPrograms/Demo_Desktop_Widget_Timer.py)
37
- - [PySimpleGUI cookbook](https://pysimplegui.readthedocs.io/en/latest/cookbook/)
37
+ - [PySimpleGUI cookbook](https://pysimplegui.readthedocs.io/en/latest/cookbook/)
38
+
39
+ ----
40
+ 追記: Tkinter のタイマーを使う方法
41
+
42
+ バックエンドのタイマーを直接使う為、移植性はなくなります。
43
+ コールバック形式のタイマーで指定時間後に実行が出来る為、コードは比較的簡単に。
44
+ ```python
45
+
46
+ elif event == "bt1":
47
+ window["tx1"].update("ようこそ")
48
+ window["tx1"].TKEntry.after(3000,
49
+ lambda: window["tx1"].update("プログラムを起動します"))
50
+
51
+ ```