8.2 Graafiline liides(Tkinter, CustomTkinter jne)


1. Mis on graafiline liides (GUI)?

Graafiline liides (Graphical User Interface) on aknaga kasutajaliides, kus saab kasutada:

  • nuppe
  • tekstikaste
  • sildikesi
  • loetelusid jne

See teeb programmid lihtsamaks ja mugavamaks kasutajale (ei pea käsureal käsklusi andma).


2. Mis on Tkinter?

Tkinter on Pythonis olemas olev tööriist (moodul), millega saab lihtsalt teha graafilisi aknaid ja nuppe.

CustomTkinter on ilusam ja uuem versioon Tkinterist, millel on kaasaegsem välimus (nt tumedad teemad).


3. Lihtne näide – Tkinter akna loomine

import tkinter as tk

aken = tk.Tk()
aken.title("Minu esimene aken")
aken.geometry("300x200")

silt = tk.Label(aken, text="Tere tulemast!")
silt.pack()

aken.mainloop()

Selgitus:

  • Tk() – loob akna
  • Label() – lisab teksti
  • pack() – paigutab selle aknasse
  • mainloop() – hoiab akna avatuna

4. Nupp ja tegevus

import tkinter as tk

def vajutati():
    silt.config(text="Nupp vajutatud!")

aken = tk.Tk()
aken.title("Nupu näide")

silt = tk.Label(aken, text="Vajuta nuppu")
silt.pack()

nupp = tk.Button(aken, text="Vajuta mind", command=vajutati)
nupp.pack()

aken.mainloop()


5. CustomTkinter näide (kaasaegsem disain)

import customtkinter as ctk

ctk.set_appearance_mode("dark")  # dark/light/system
ctk.set_default_color_theme("blue")

aken = ctk.CTk()
aken.title("Modernne aken")
aken.geometry("300x200")

silt = ctk.CTkLabel(aken, text="Tere tulemast GUI-sse!")
silt.pack(pady=10)

aken.mainloop()

NB! Kui customtkinter ei ole olemas, siis paigalda:

pip install customtkinter


6. Mida saab veel teha GUI-s?

  • Tekstikastid (Entry)
  • Valikunupud (Radiobutton)
  • Märkeruudud (Checkbutton)
  • Loetelud (Listbox)
  • Akenfailide valimiseks (failibrauserid)
  • Mitme aknaga rakendused

7. Kokkuvõte

MõisteSelgitus
TkinterLihtne viis graafilise akna loomiseks
CustomTkinterUuem ja ilusam versioon Tkinterist
LabelTekst ekraanil
ButtonVajutatav nupp
EntryTekstiväli andmete sisestamiseks
mainloop()Hoiab akna avatuna