Autor podstrony: Krzysztof Zajączkowski

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.

Okno programu wykorzystujące wywołanie danej funkcji za pomocą metody after w języku programowania Python z wykorzystaniem modułu tkinter
Rys. 1
Okno programu wykorzystujące wywołanie danej funkcji za pomocą metody after