Python - Tkinter Button


Vidžet dugmeta (button) se koristi za dodavanje različitih tipova dugmadi u python aplikaciju. Python nam omogućava da konfigurišemo izgled dugmeta prema našim zahtjevima. Različite opcije se mogu podesiti ili resetovati u zavisnosti od zahtjeva. Metodu ili funkciju takođe možemo povezati s tipkom koja se poziva kada se dugme pritisne. Sintaksa za korišćenje vidžeta dugmeta je:

W = Button(parent, options)  

Spisak mogućih opcija je dat u sljedećoj tabeli.

Opicija Opis
activebackground Predstavlja pozadinu dugmeta kada miš pređe preko dugmeta.
activeforeground Predstavlja boju fonta dugmeta kada miš pređe preko dugmeta.
Bd Predstavlja širinu granice u pikselima.
Bg Predstavlja boju pozadine dugmeta.
Command Postavlja se na poziv funkcije koji je zakazan kada se funkcija pozove.
Fg Boja prednjeg plana dugmeta.
Font Font teksta dugmeta.
Height Visina dugmeta. Visina je predstavljena u broju redova teksta za tekstualne linije ili broju piksela za slike.
Highlightcolor Boja isticanja kada dugme ima fokus.
Image Postavlja se na sliku prikazanu na dugmetu.
justify Ona ilustruje način na koji su predstavljeni višestruki tekstualni redovi. Postavljena je na LIJEVO za poravnanje lijevo, DESNO za desno poravnanje i CENTAR za centar.
Padx Dodavanje padding-a na dugme u horizontalnom smijeru.
pady Dodavanje padding-a na dugme u vertikalnom smeru.
Relief Predstavlja vrstu granice. Može biti: SUNKEN, RAISED, GROOVE i RIDGE.
State Ova opcija je postavljena na DISABLED (ONEMOGUĆENO) da dugme ne reaguje. ACTIVE (AKTIVNO) predstavlja aktivno stanje dugmeta.
Underline Ova opcija je postavlja da tekst dugmeta bude podvučen.
Width Širina dugmeta. Postoji kao broj slova za tekstualne dugmad ili piksela za dugmad za slike.
Wraplength Ako je vrijednost postavljena na pozitivan broj, redovi teksta će biti premotani kako bi se uklopili u ovu dužinu.

Primjer broj 1: Tkinter Button

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 (dugme)
exit_button = ttk.Button(
    root,
    text='Exit',
    command=lambda: root.quit()
)

exit_button.pack(
    ipadx=5,
    ipady=5,
    expand=True
)

root.mainloop()

Prikaz koda iz gornjeg primjera izgledaće ovako:


Primjer broj 2: Tkinter Button

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('Slika demo Button')


# download button handler
def download_clicked():
    showinfo(
        title='Infromacije',
        message='Pritisnuto dugme za preuzimanje!'
    )

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()

Prikaz koda iz gornjeg primjera izgledaće ovako: