🔧 Tkinteri põhialused / Основы Tkinter
Tkinter on Pythoni standardraamatukogu graafiliste liideste loomiseks. See pakub lihtsaid vahendeid akende, nuppude ja muude elementide loomiseks.
Tkinter – стандартная библиотека Python для создания графических интерфейсов. Она предоставляет простые инструменты для создания окон, кнопок и других элементов.
🛠️ Tööpõhimõtted / Принципы работы
Loome põhiakna → Создаем главное окно
aken = tk.Tk()
Lisame vidinad → Добавляем виджеты
silt = tk.Label(aken, text="Tervitus!")
Käivitame peatsükli → Запускаем главный цикл
aken.mainloop()
Elementaarne näide / Базовый пример
import tkinter as tk
# Põhiakna seadistus / Настройка главного окна
aken = tk.Tk()
aken.title("Minu programm / Моя программа")
aken.geometry("400x300")
# Tekstielemendi lisamine / Добавление текста
silt = tk.Label(aken, text="See on minu esimene aken!\nЭто моё первое окно!")
silt.pack(pady=20)
# Sulgenupp / Кнопка закрытия
nupp = tk.Button(aken, text="Sulge / Закрыть", command=aken.destroy)
nupp.pack()
aken.mainloop()
Põhilised vidinad / Основные виджеты
1. Sildid / Метки
tk.Label(aken, text="Lihtne tekst", font=("Arial", 12), fg="blue")
2. Sisestusväljad / Поля ввода
sisestus = tk.Entry(aken, width=30)
3. Nupud / Кнопки
def klikk():
print("Nupp töötab!")
tk.Button(aken, text="Vajuta / Нажми", command=klikk)
4. Valikukastid / Флажки
valik = tk.IntVar()
tk.Checkbutton(aken, text="Vali mind", variable=valik)
📐 Paigutustehnikad / Методы компоновки
1. Pack() – lihtne virnastamine
tk.Label(aken, text="Ülemine").pack(side="top")
tk.Label(aken, text="Alumine").pack(side="bottom")
2. Grid() – tabelipaigutus
tk.Label(aken, text="Nimi:").grid(row=0, column=0)
tk.Entry(aken).grid(row=0, column=1)
3. Place() – täpne positsioneerimine
tk.Label(aken, text="50x30").place(x=50, y=30)
⚡ Interaktiivsus / Интерактивность
Hiire sündmused / События мыши
def hiire_klikk(event):
print(f"Klõpsasid: {event.x},{event.y}")
aken.bind("<Button-1>", hiire_klikk)
Klaviatuuri sündmused / События клавиатуры
def klahv(event):
print(f"Vajutasid: {event.char}")
aken.bind("<Key>", klahv)
📝 Reaalse rakenduse näide / Пример реального приложения
import tkinter as tk
from tkinter import messagebox
def arvuta():
try:
arv1 = float(sisestus1.get())
arv2 = float(sisestus2.get())
tulemus = arv1 + arv2
tulemus_silt.config(text=f"Tulemus: {tulemus}")
except:
messagebox.showerror("Viga", "Palun sisesta numbrid!")
aken = tk.Tk()
aken.title("Kalkulaator / Калькулятор")
# Sisestusväljad
tk.Label(aken, text="Esimene arv:").grid(row=0, column=0)
sisestus1 = tk.Entry(aken)
sisestus1.grid(row=0, column=1)
tk.Label(aken, text="Teine arv:").grid(row=1, column=0)
sisestus2 = tk.Entry(aken)
sisestus2.grid(row=1, column=1)
# Arvutamisnupp
tk.Button(aken, text="Arvuta / Вычислить", command=arvuta).grid(row=2, columnspan=2)
# Tulemuse kuvamine
tulemus_silt = tk.Label(aken, text="")
tulemus_silt.grid(row=3, columnspan=2)
aken.mainloop()
📌 Kokkuvõte / Вывод
- Tkinter on lihtne viis GUI loomiseks Pythonis
- Pakub mitmesuguseid vidinaid ja paigutusvõimalusi
- Interaktiivsus on lihtsalt realiseeritav sündmuste kaudu
Tkinter – простой способ создания GUI на Python
Предоставляет различные виджеты и методы компоновки
Интерактивность легко реализуется через события

