Tkinter Düğmesi / Tkinter Button
Bu eğitimde Tkinter Button widget'ını ve onu çeşitli türde düğmeler oluşturmak için nasıl kullanacağınızı öğreneceksiniz.
Tkinter düğme widget'ına giriş
Düğme widget'ları uygulamalardaki tıklanabilir bir öğeyi temsil eder. Genellikle tıklandığında gerçekleştirilecek eylemi görüntülemek için bir metin veya resim kullanırsınız.
Düğmeler metni tek bir yazı tipinde görüntüleyebilir. Ancak metin birden fazla satıra yayılabilir. Bunun da ötesinde, bir klavye kısayolunu işaretlemek için karakterlerden birinin altını çizebilirsiniz.
Düğmeye tıklandığında bir sınıfın bir işlevini veya yöntemini otomatik olarak çağırmak için , onun seçeneğini işleve veya yönteme atarsınız. Buna Tkinter'da komut bağlama denir .command
ttk.Button
Bir düğme oluşturmak için yapıcıyı aşağıdaki gibi kullanırsınız :
button = ttk.Button(container, **option)
Kod dili: Python ( python )
Bir düğmenin birçok seçeneği vardır. Ancak tipik olanları şu şekildedir:
button = ttk.Button(container, text, command)
Kod dili: Python ( python )
Bu sözdiziminde:
container
Düğmeyi yerleştirdiğiniz ana bileşendir .text
Düğmenin etiketidir .command
Düğmeye tıklandığında otomatik olarak çağrılacak geri çağırma işlevini belirtir .
Komut geri çağırma
Bu command
seçenek, düğmenin eylemini bir sınıfın bir işlevi veya yöntemiyle ilişkilendirir. Düğmeye tıkladığınızda veya bastığınızda, otomatik olarak bir geri arama işlevi başlatılacaktır.
Seçeneğe bir geri arama atamak için command
lambda ifadesini kullanabilirsiniz:
def callback():
# do something
ttk.Button(
root,
text="Demo Button",
command=callback
)
Kod dili: Python ( python )
İşlev bir ifade içeriyorsa lamba ifadesini kullanırsınız:
ttk.Button(
root,
text="Demo Button",
command=lambda_expression
)
Kod dili: Python ( python )
Düğme durumları
Bir butonun varsayılan durumu şudur normal
. Bu durumda normal
düğme, fare olaylarına ve klavyeye basışlara, komut seçeneğine atanan geri çağırma işlevini çağırarak yanıt verecektir.
Düğme aynı zamanda disabled
duruma da sahip olabilir. Bu durumda disabled
, bir düğme gri renktedir ve fare olaylarına ve klavye basışlarına yanıt vermez.
Bir düğmenin durumunu kontrol etmek için şu state()
yöntemi kullanırsınız:
# set the disabled flag
button.state(['disabled'])
# remove the disabled flag
button.state(['!disabled'])
Kod dili: Python ( python )
Tkinter düğme örnekleri
Düğme widget'larının kullanımına ilişkin bazı örnekleri ele alalım.
1) Basit Tkinter butonu örneği
Aşağıdaki program bir Exit
düğmenin nasıl görüntüleneceğini gösterir. Tıkladığınızda program sonlandırılır.
import tkinter as tk
from tkinter import ttk
# root window
root = tk.Tk()
root.geometry('300x200')
root.resizable(False, False)
root.title('Button Demo')
# exit button
exit_button = ttk.Button(
root,
text='Exit',
command=lambda: root.quit()
)
exit_button.pack(
ipadx=5,
ipady=5,
expand=True
)
root.mainloop()
Kod dili: Python ( python )
Çıktı:

Nasıl çalışır.
Aşağıdakiler Exit
düğmeyi oluşturur:
exit_button = ttk.Button(
root,
text='Exit',
command=lambda: root.quit()
)
Kod dili: Python ( python )
Düğmenin komutu, kök pencereyi kapatan bir lambda ifadesine atanır.
2) Tkinter resim düğmesi örneği
Aşağıdaki program bir resim düğmesinin nasıl görüntüleneceğini gösterir. Bu örneği uygulamak için önce aşağıdaki görseli indirmeniz gerekir:

Sadece sağ tıklayın ve aşağıdaki programdan erişilebilen bir klasöre kaydedin, örneğin assets
klasör:
import tkinter as tk
from tkinter import ttk
from tkinter.messagebox import showinfo
# root window
root = tk.Tk()
root.geometry('300x200')
root.resizable(False, False)
root.title('Image Button Demo')
# download button
def download_clicked():
showinfo(
title='Information',
message='Download button clicked!'
)
download_icon = tk.PhotoImage(file='./assets/download.png')
download_button = ttk.Button(
root,
image=download_icon,
command=download_clicked
)
download_button.pack(
ipadx=5,
ipady=5,
expand=True
)
root.mainloop()
Kod dili: Python ( python )
Çıktı:

Nasıl çalışır.
tk.PhotoImage
İlk olarak, görüntü dosyasına başvuran sınıfın yeni bir örneğini oluşturun'./assets/download.png'
.- İkinci olarak,
ttk.Button
görüntüye atanan görüntü seçeneğini oluşturun. - Üçüncüsü, seçeneğe bir işlev atayın
command
.download_clicked
Düğmeye tıkladığınızda, bir mesaj kutusu görüntüleyen işlev çağrılacaktır .
3) Bir resim düğmesinin görüntülenmesi
Bir düğme üzerinde hem metni hem de resmi görüntülemek için bu seçeneği kullanmanız gerekir compound
. Bunu yapmazsanız düğme resmi değil yalnızca metni görüntüler.
Aşağıda bir düğme üzerinde hem metnin hem de görüntünün nasıl görüntüleneceği gösterilmektedir:
import tkinter as tk
from tkinter import ttk
from tkinter.messagebox import showinfo
# root window
root = tk.Tk()
root.geometry('300x200')
root.resizable(False, False)
root.title('Image Button Demo')
# download button handler
def download_clicked():
showinfo(
title='Information',
message='Download button clicked!'
)
download_icon = tk.PhotoImage(file='./assets/download.png')
download_button = ttk.Button(
root,
image=download_icon,
text='Download',
compound=tk.LEFT,
command=download_clicked
)
download_button.pack(
ipadx=5,
ipady=5,
expand=True
)
root.mainloop()
Kod dili: Python ( python )
Çıktı:

Özet
ttk.Button()
Bir düğme oluşturmak için sınıfı kullanın .- Düğme tıklama olayına yanıt verme seçeneğine bir lambda ifadesi veya işlev atayın .
command
- Düğmede bir resim görüntülemek için özelliğini
tk.PhotoImage()
atayın .image
compound
Bir düğme üzerinde hem metin hem de resim görüntülemek istiyorsanız bu seçeneği kullanın .
Kaynak