タグtkinter
が含まれているので、非常にうまく動作するtkinter固有の解決策があります。すべてのウィジェットで利用可能なafter
メソッドを使用して、将来イベントが発生するようにスケジュールすることができます。
最も単純なケースでは、一定の間隔で他の機能を実行する機能を持つことができます。例:
import tkinter as tk
def run_periodically(func, ms):
func()
root.after(ms, run_periodically, func, ms)
def tick():
global count
count += 1
tick_label.configure(text="count: %d" % count)
count = 0
root = tk.Tk()
tick_label = tk.Label(root, text="")
tick_label.pack(padx=20, pady=20)
run_periodically(tick, 1000)
root.mainloop()
もちろんスケジュールで呼び出される代わりに、必要に応じてジョブをスケジュールすることもできます。たとえば、ライトが赤色に変わったときは、after
を使ってオフにし、緑色を点灯させることができます。 after
を使用して緑色を消し、黄色を点灯させるなどの方法があります。これは宿題のように聞こえるので、私は例を挙げません。
[はい](https://docs.python.org/3.6/library/time.html)。最初に 'time.time()'または 'time.clock()'を使って最初の時間を取得し、それを使ってウィンドウを閉じる前にどちらかを呼び出して現在のシミュレーション時間を計算することができます – pbreach
@pbreachアンサー?単なるコメントであることはあまりにも良いことです。 – MeanGreen
これは[複製](http://stackoverflow.com/questions/415511/how-to-get-current-time-in-python)の[duplicate](http://stackoverflow.com/質問/ 7370801/measure-time-elapsed-in-python)、[重複](http://stackoverflow.com/questions/3620943/measuring-elapsed-time-with-the-time-module)の...あなたはその考えを得る。 – pbreach