Autor podstrony: Krzysztof Zajączkowski

Stronę tą wyświetlono już: 6594 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
Layout wykonany przez autora strony, wszelkie prawa zastrzeżone. Jakiekolwiek użycie części lub całości grafik znajdujących się na tej stronie bez pisemnej zgody jej autora surowo zabronione.