Stronę tą wyświetlono już: 6446 razy
Wywoływanie jakiejś funkcji lub metody klasy w programie co określony przybliżony odstęp czasu jest jednym z ważniejszych i przydatniejszych elementów programowania. Przydatniejszych, ponieważ za pomocą (ogólnie rzecz ujmując) zegara można stworzyć animację w programie. Oto przykład prościutkiego programu, którego jedynym celem jest wyświetlanie czasu na ekranie.
import tkinter as tk
import datetime as dt # dla obsługi daty i czasu
class Application:
def __init__(self):
self.window = tk.Tk()
self.window.geometry("300x40")
self.lb_clock = tk.Label(self.window, font = ("Times New Roman", 20))
self.lb_clock.pack()
self.timer() # pierwsze wywołanie metody timer
self.window.mainloop()
def timer(self):
self.lb_clock.config(text = str(dt.datetime.now().time()).split(".")[0]) # poberanie czasu
self.window.after(1000, self.timer) # ustawienie kolejnego wywołania metody timer
apl = Application()
Spójrzmy łaskawym okiem na linijkę 18 gdzie zamknięty został cały jakże nieskomplikowany mechanizm wywołania metody timer. Jest tutaj użyta metoda after, która z kolei przyjmuje dwa argumenty: pierwszy to czas w milisekundach, po którym ma być wywołana metoda klasy lub funkcja podana jako argument drugi tejże metody.