Tkinter

WikiKod sitesinden
16.30, 28 Eylül 2025 tarihinde Ozgur (mesaj | katkılar) tarafından oluşturulmuş 205 numaralı sürüm ("'''Tkinter''', Python programlama dili için standart '''GUI (Graphical User Interface)''' kütüphanesidir. Temeli '''Tcl/Tk''' kütüphanesine dayanır. Python ile masaüstü uygulamaları geliştirmek için en yaygın kullanılan araçlardan biridir. Python’un standart dağıtımında dahili olarak gelir, bu yüzden ayrıca kuruluma gerek yoktur. == Temel Özellikler == * Basit ve Pythonik API * Standart Python dağıtımında hazır gelir * Çok..." içeriğiyle yeni sayfa oluşturdu)
(fark) ← Önceki sürüm | Güncel sürüm (fark) | Sonraki sürüm → (fark)
Gezinti kısmına atla Arama kısmına atla

Tkinter, Python programlama dili için standart GUI (Graphical User Interface) kütüphanesidir. Temeli Tcl/Tk kütüphanesine dayanır. Python ile masaüstü uygulamaları geliştirmek için en yaygın kullanılan araçlardan biridir. Python’un standart dağıtımında dahili olarak gelir, bu yüzden ayrıca kuruluma gerek yoktur.

Temel Özellikler

  • Basit ve Pythonik API
  • Standart Python dağıtımında hazır gelir
  • Çok sayıda widget (buton, etiket, giriş alanı vb.)
  • Menü, diyalog, canvas ve layout desteği
  • Olay tabanlı programlama (event-driven)

Basit Bir Tkinter Uygulaması

import tkinter as tk

# Ana pencere
pencere = tk.Tk()
pencere.title("Merhaba Tkinter")
pencere.geometry("300x200")

# Bir etiket ekleyelim
etiket = tk.Label(pencere, text="Merhaba Dünya!", font=("Arial", 14))
etiket.pack(pady=20)

# Bir buton ekleyelim
def tiklandi():
    etiket.config(text="Butona Tıklandı!")

buton = tk.Button(pencere, text="Tıkla", command=tiklandi)
buton.pack()

# Pencereyi çalıştır
pencere.mainloop()

Temel Kavramlar

  • Tk(): Ana pencere (root window) oluşturur.
  • Widget: Kullanıcı arayüzü elemanlarıdır. (Label, Button, Entry vb.)
  • Geometry Manager: Widget’lerin pencere içindeki yerleşimini düzenler.
 * pack(): Sıralı yerleşim
 * grid(): Tablo bazlı yerleşim
 * place(): Koordinat tabanlı yerleşim

Yaygın Kullanılan Widget’ler

Label

Metin veya görsel göstermek için.

etiket = tk.Label(pencere, text="Merhaba")
etiket.pack()

Button

Kullanıcıdan tıklama alır.

buton = tk.Button(pencere, text="Kaydet", command=fonksiyon)
buton.pack()

Entry

Tek satırlık metin giriş kutusu.

giris = tk.Entry(pencere)
giris.pack()

Text

Çok satırlı metin giriş alanı.

metin = tk.Text(pencere, height=5, width=30)
metin.pack()

Checkbutton & Radiobutton

Seçim yapılmasını sağlar.

var = tk.IntVar()
secim = tk.Checkbutton(pencere, text="Onaylıyorum", variable=var)
secim.pack()

Listbox

Liste halinde öğeler gösterir.

liste = tk.Listbox(pencere)
liste.insert(1, "Python")
liste.insert(2, "Java")
liste.insert(3, "C#")
liste.pack()

Olay (Event) Yönetimi

Tkinter olay tabanlıdır. Kullanıcı eylemleri (tıklama, tuş basma vb.) bind ile yakalanabilir.

def tus_basildi(event):
    print("Basılan tuş:", event.char)

pencere.bind("<Key>", tus_basildi)

Layout (Yerleşim Yöntemleri)

  • pack(): Sıralı yerleşim
  • grid(): Satır/sütun bazlı
  • place(): Piksel koordinatı ile yerleşim

Menü ve Diyaloglar

menubar = tk.Menu(pencere)
dosya_menu = tk.Menu(menubar, tearoff=0)
dosya_menu.add_command(label="Aç")
dosya_menu.add_command(label="Kaydet")
menubar.add_cascade(label="Dosya", menu=dosya_menu)
pencere.config(menu=menubar)

Canvas ile Çizim

canvas = tk.Canvas(pencere, width=200, height=200, bg="white")
canvas.pack()
canvas.create_line(0, 0, 200, 200, fill="blue")
canvas.create_rectangle(50, 50, 150, 150, fill="red")

Kullanım Alanları

  • Basit masaüstü uygulamaları
  • Form tabanlı yazılımlar
  • Görsel eğitim uygulamaları
  • Küçük oyunlar (ör. yılan oyunu)

Ayrıca bakınız

Dış bağlantılar