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.ButtonBir 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:

  • containerDüğmeyi yerleştirdiğiniz ana bileşendir .
  • textDüğmenin etiketidir .
  • commandDüğmeye tıklandığında otomatik olarak çağrılacak geri çağırma işlevini belirtir .

Komut geri çağırma

Bu commandseç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 commandlambda 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 normaldüğ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 disabledduruma 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 Exitdüğ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ı:

Tkinter Düğmesi / Tkinter Button

Nasıl çalışır.

Aşağıdakiler Exitdüğ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:

Tkinter Düğmesi / Tkinter Button

Sadece sağ tıklayın ve aşağıdaki programdan erişilebilen bir klasöre kaydedin, örneğin assetsklasö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ı:

Tkinter Düğmesi / Tkinter Button

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.Buttongörüntüye atanan görüntü seçeneğini oluşturun.
  • Üçüncüsü, seçeneğe bir işlev atayın command. download_clickedDüğ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ı:

Tkinter Düğmesi / Tkinter Button

Ö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
  • compoundBir düğme üzerinde hem metin hem de resim görüntülemek istiyorsanız bu seçeneği kullanın .

Kaynak

Yorumunuzu Ekleyin


Yükleniyor...
    Yükleniyor...