Bu öğretici, grafik kullanıcı arayüzleri (GUI’ler) oluşturmak için kullanılan bir Python kütüphanesi olan Tkinter’da menü çubukları oluşturma ve kullanma konusunda size rehberlik eder. Temel Tkinter widget’larıyla (çerçeveler ve etiketler gibi) önceden aşinalık faydalıdır.
İçerik Tablosu
- Temel Bir Menü Çubuğu Oluşturma
- Menü Öğelerine İşlevsellik Ekleme
- Gelişmiş Menü Çubuğu Teknikleri (İsteğe Bağlı)
1. Temel Bir Menü Çubuğu Oluşturma
“Dosya” menüsü ve “Yeni”, “Aç” ve “Çıkış” seçeneklerini içeren basit bir menü çubuğu oluşturarak başlayalım. Bu ilk örnek yalnızca görsel yapıya odaklanır; menü öğeleri henüz herhangi bir işlem gerçekleştirmez.
import tkinter as tk
root = tk.Tk()
root.title("Tkinter Menü Çubuğu Örneği")
menubar = tk.Menu(root)
filemenu = tk.Menu(menubar, tearoff=0)
filemenu.add_command(label="Yeni")
filemenu.add_command(label="Aç")
filemenu.add_separator()
filemenu.add_command(label="Çıkış")
menubar.add_cascade(label="Dosya", menu=filemenu)
root.config(menu=menubar)
root.mainloop()
Bu kod, ana pencereyi (root
), menü çubuğunu ve “Dosya” menüsünü oluşturur. tearoff=0
, menünün ayrılmasını önler. add_command
menü öğeleri ekler, add_separator
görsel bir ayırıcı ekler ve add_cascade
“Dosya” menüsünü menü çubuğuna entegre eder. root.config(menu=menubar)
menü çubuğunu görüntüler.
2. Menü Öğelerine İşlevsellik Ekleme
Şimdi, menü öğelerini işlevsellikle geliştirelim. “Çıkış” komutunu uygulamayı kapatmaya bağlayacağız ve “Yeni” ve “Aç” için eylemler ekleyeceğiz.
import tkinter as tk
def new_file():
print("Yeni dosya işlemi tetiklendi!")
def open_file():
print("Dosya açma işlemi tetiklendi!")
def exit_app():
root.destroy() # root.quit()'ten daha iyi uygulama
root = tk.Tk()
root.title("Komutlarla Tkinter Menü Çubuğu Örneği")
menubar = tk.Menu(root)
filemenu = tk.Menu(menubar, tearoff=0)
filemenu.add_command(label="Yeni", command=new_file)
filemenu.add_command(label="Aç", command=open_file)
filemenu.add_separator()
filemenu.add_command(label="Çıkış", command=exit_app)
menubar.add_cascade(label="Dosya", menu=filemenu)
root.config(menu=menubar)
root.mainloop()
Kod, new_file
, open_file
ve exit_app
fonksiyonlarını tanımlar. Bu fonksiyonlar, command
argümanı aracılığıyla menü öğelerine bağlanır. “Yeni” veya “Aç” tıklanması artık ilgili fonksiyonu tetikleyecek; “Çıkış” uygulamayı kapatacaktır. Yer tutucu print ifadelerini istediğiniz işlevsellikle değiştirmeyi unutmayın. Örneğin, “Aç”ı bir dosya iletişim kutusuna bağlayabilirsiniz.
3. Gelişmiş Menü Çubuğu Teknikleri (İsteğe Bağlı)
Daha karmaşık ve kullanıcı dostu uygulamalar oluşturmak için şu gelişmiş teknikleri göz önünde bulundurun:
- Alt Menüleri: Daha iyi düzenleme için iç içe geçmiş menüler oluşturun.
- Onay Kutusu Menü Öğeleri: Kullanıcıların seçenekleri açıp kapatmasına izin verin.
- Radyo Düğmesi Menü Öğeleri: Karşılıklı olarak dışlayıcı seçenekler sağlayın.
- Klavye Kısayolları: Daha hızlı erişim için menü öğelerine klavye kısayolları atayın (
add_command
içindekiunderline
veaccelerator
seçeneklerini kullanarak). - Olay İşleme: Kullanıcı etkileşimlerini yönetmek için daha gelişmiş olay işleme teknikleri kullanın.
Bu gelişmiş özellikler hakkında ayrıntılı bilgi için Tkinter belgelerini inceleyin.