🔧 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
Предоставляет различные виджеты и методы компоновки
Интерактивность легко реализуется через события