Graafiline liides (Tkinter, CustomTkinter)
Tkinter – Pythoni sisseehitatud GUI moodul
- Akna loomine:
aken = tk.Tk() aken.title("Pealkiri") aken.geometry("laiusxkõrgus") aken.mainloop()
- Peamised vidinad (widgetid):
Label: tekst, nt tk.Label(aken, text="Tekst")
Button: nupp, nt tk.Button(aken, text="Vajuta", command=funktsioon)
Entry: sisestusväli, nt tk.Entry(aken)
Text: mitmerealine tekst
Checkbutton: märkeruut
Listbox: valikuloend
Paigutusmeetodid
pack(): järjestikune paigutus
grid(): tabeli paigutus (rida ja veerg)
place(): koordinaatide järgi (x, y)
Sündmuste sidumine (bind)
- Näited:
<Button-1>: vasak hiireklõps
<Key>: klahvivajutus
<Motion>: hiire liikumine
- Näide:
aken.bind("<Key>", lambda event: print(event.char))
Näide: lihtne tervitusvorm
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
- Installatsioon:
pip install customtkinter
- Seaded:
ctk.set_appearance_mode("Light") # või "Dark", "System" ctk.set_default_color_theme("blue")
- Peamised vidinad:
CTkLabel, CTkButton, CTkEntry, CTkTextbox, CTkCheckBox, CTkSwitch, CTkSlider, CTkProgressBar, CTkOptionMenu, CTkFrame
Näide sakidega (Tabs)
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()
Töö failidega
- Faili salvestamine:
from tkinter import filedialog failinimi = filedialog.asksaveasfilename()
- Faili avamine:
failinimi = filedialog.askopenfilename()
- Teavitused:
from tkinter import messagebox messagebox.showinfo("Pealkiri", "Sõnum")