Onay kutuları, Tkinter’da temel bir kullanıcı arabirimi öğesidir ve kullanıcılara seçenekleri seçme veya seçimini kaldırma konusunda basit bir yol sunar. Bu öğretici, temel uygulamadan geri arama fonksiyonu bağlama ve varsayılan durumları değiştirme gibi gelişmiş tekniklere kadar onay kutularının kullanımının çeşitli yönlerini ele almaktadır.
İçindekiler Tablosu:
- Temel Onay Kutusu Örneği
- Programatik Seçim ve Seçim Kaldırma
- Onay Kutusu Durumunu Değiştirme
- Geri Arama Fonksiyonları Bağlama
- Varsayılan Onay Kutusu Değerini Ayarlama
- Ek Seçenekleri Keşfetme
1. Temel Onay Kutusu Örneği
Tek bir onay kutusunu gösteren basit bir örnekle başlayalım:
import tkinter as tk
root = tk.Tk()
root.title("Onay Kutusu Örneği")
var = tk.BooleanVar()
checkbutton = tk.Checkbutton(root, text="Şartları kabul ediyorum", variable=var)
checkbutton.pack()
root.mainloop()
Bu, “Şartları kabul ediyorum” etiketli bir onay kutusu içeren bir pencere oluşturur. BooleanVar()
onay kutusunun durumunu (seçili için True, seçili değil için False) saklar. pack()
onay kutusunu pencerede konumlandırır.
2. Programatik Seçim ve Seçim Kaldırma
Onay kutusunun durumunu ilişkili değişkenini kullanarak doğrudan kontrol edebilirsiniz:
import tkinter as tk
root = tk.Tk()
root.title("Onay Kutusu Kontrolü")
var = tk.BooleanVar()
checkbutton = tk.Checkbutton(root, text="Beni seç!", variable=var)
checkbutton.pack()
def select():
var.set(True)
def deselect():
var.set(False)
select_button = tk.Button(root, text="Seç", command=select)
select_button.pack()
deselect_button = tk.Button(root, text="Seçimi Kaldır", command=deselect)
deselect_button.pack()
root.mainloop()
Bu örnek, onay kutusunu programatik olarak seçmek ve seçimini kaldırmak için düğmeler ekler.
3. Onay Kutusu Durumunu Değiştirme
Sık kullanılan bir durum, onay kutusunun durumunu değiştirmeyi içerir:
import tkinter as tk
root = tk.Tk()
root.title("Onay Kutusu Değiştirme")
var = tk.BooleanVar()
checkbutton = tk.Checkbutton(root, text="Beni değiştir!", variable=var, command=lambda: print(f"Onay kutusu durumu: {var.get()}"))
checkbutton.pack()
root.mainloop()
command
seçeneği, onay kutusu değiştirildiğinde her seferinde bir fonksiyonu (burada, geçerli durumu yazdırma) tetikler.
4. Geri Arama Fonksiyonları Bağlama
Daha karmaşık işlemler özel bir geri arama fonksiyonu kullanılarak gerçekleştirilebilir:
import tkinter as tk
root = tk.Tk()
root.title("Onay Kutusu Geri Arama")
def callback():
if var.get():
print("Onay kutusu seçildi!")
else:
print("Onay kutusu seçimi kaldırıldı!")
var = tk.BooleanVar()
checkbutton = tk.Checkbutton(root, text="Geri Aramayı Tetikle!", variable=var, command=callback)
checkbutton.pack()
root.mainloop()
Bu örnek, onay kutusunun durumuna bağlı olarak bir mesaj yazdıran bir geri arama fonksiyonunu göstermektedir.
5. Varsayılan Onay Kutusu Değerini Ayarlama
Onay kutusunun başlangıç durumu ayarlanabilir:
import tkinter as tk
root = tk.Tk()
root.title("Onay Kutusu Varsayılan Değeri")
var = tk.BooleanVar(value=True) # Başlangıçta seçili
checkbutton = tk.Checkbutton(root, text="Varsayılan Seçili!", variable=var)
checkbutton.pack()
root.mainloop()
BooleanVar
‘ı True
olarak başlatarak, onay kutusu seçili durumda başlar.
6. Ek Seçenekleri Keşfetme
Tkinter’ın Checkbutton
bileşeni, özelleştirme için birkaç başka seçenek sunar, bunlar arasında:
onvalue
veoffvalue
: Seçili ve seçili olmayan durumlarla ilişkili değerleri özelleştirin (varsayılan olarak sırasıyla 1 ve 0’dır).variable
:BooleanVar
kullandık, ancak daha karmaşık durum yönetimi için diğer değişken türlerini de kullanabilirsiniz.indicatoron
: Onay kutusunun görsel bir gösterge (kare kutu) gösterip göstermediğini kontrol eder.selectcolor
: Seçili göstergenin rengini değiştirin.offrelief
veonrelief
: Seçili ve seçili olmayan durumlarda düğmenin 3B görünümünü kontrol edin.
Seçeneklerin ve kullanımlarının tam listesi için resmi Tkinter belgesine bakın.