Tkinter – Graafilise kasutajaliidese loomine
Mõiste: tkinter on Pythoni sisseehitatud moodul, mis võimaldab luua graafilisi kasutajaliideseid (GUI).
Põhikomponendid:
- Akna loomine:
aken = tk.Tk() aken.title("Pealkiri") aken.geometry("laiusxkõrgus") - Peatselt käivitatav GUI:
aken.mainloop()
Olulised vidinad (komponendid):
Label– kuvab tekstitk.Label(aken, text="Tekst")Button– nupp, millele saab määrata tegevusetk.Button(aken, text="Vajuta", command=funktsioon)Entry– üherealine tekstivälitk.Entry(aken)Text– mitmerealine tekstivälitk.Text(aken)Checkbutton– märkeruuttk.Checkbutton(aken, variable=muutuja)Listbox– valikuloend
Paigutusviisid:
pack()– järjestab vidinad vertikaalselt või horisontaalseltgrid()– asetab elemendid tabelilaadselt (rida, veerg)place()– määrab asukoha koordinaatide abil (x, y)
Sündmuste käsitlemine (bind):
<Button-1>– vasaku hiireklõpsu sündmus<Key>– klahvivajutus<Motion>– hiire liikumine
Näide sündmuse käsitlemisest:
aken.bind("<Key>", lambda event: print(event.char))
Näide – lihtne vorm:
import tkinter as tk
def tervita():
silt.configure(text=f"Tere, {sisestus.get()}!")
aken = tk.Tk()
aken.title("Tervitusvorm")
tk.Label(aken, text="Sisesta nimi:").pack()
sisestus = tk.Entry(aken)
sisestus.pack()
tk.Button(aken, text="Tervita", command=tervita).pack()
silt = tk.Label(aken)
silt.pack()
aken.mainloop()
CustomTkinter – Moodne GUI välimus
Paigaldamine:
pip install customtkinter
Seadistamine:
set_appearance_mode("Light" / "Dark" / "System")
set_default_color_theme("blue")
CustomTkinter vidinad:
CTkLabel– tekstCTkButton– nuppCTkEntry– sisestusväliCTkTextbox– mitmerealine tekstCTkCheckBox– märkeruutCTkSwitch– lülitiCTkSlider– liugurCTkProgressBar– edenemisnäidikCTkOptionMenu– valikumenüüCTkFrame– konteiner
Näide – mitme vahekaardiga aken:
import customtkinter as ctk
app = ctk.CTk()
tabs = ctk.CTkTabview(app)
tabs.add("Pealeht")
tabs.add("Seaded")
label = ctk.CTkLabel(tabs.tab("Pealeht"), text="Tere tulemast!")
label.pack()
slider = ctk.CTkSlider(tabs.tab("Seaded"), from_=0, to=1)
slider.pack()
app.mainloop()
Failidega töötamine GUI-s
- Faili salvestamine:
filedialog.asksaveasfilename()– avab salvestusfaili dialoogi - Faili avamine:
filedialog.askopenfilename()– avab faili valimise dialoogi - Teavitused:
messagebox.showinfo()– kuvab infoakna

