Python - Tkinter Menubutton


Vidžet Menubutton se može definisati kao padajući meni koji se cijelo vrijeme prikazuje korisniku. Koristi se da korisniku pruži opciju da odabere odgovarajući izbor koji postoji unutar aplikacije. Menubuton se koristi za implementaciju različitih tipova menija u python aplikaciji. Meni je pridružen Menubuttonu koji može prikazati izbore kada korisnik klikne na njega. Sintaksa za korištenje python Tkinter Menubutton je:

w = Menubutton(Top, options)

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

Opcija Opis
activebackground Boja pozadine vidžeta kada je vidžet u fokusu.
activeforeground Boja fonta teksta vidžeta kada je vidžet u fokusu.
anchor Određuje tačnu poziciju sadržaja vidžeta kada je vidžetu dodeljeno više prostora nego što je potrebno.
bg Određuje boju pozadine widgeta.
bitmap Postavlja se na grafički sadržaj koji će biti prikazan na widgetu.
bd Predstavlja veličinu border-a. Zadana vrijednost je 2px.
cursor Pokazivač miša će biti promijenjen na tip kursora koji je naveden kada je widget ispod fokusa. Moguća vrijednost tipa kursora je strelica, tačka itd.
direction Smjer se može odrediti tako da se meni može prikazati u određenom smjeru tipke. Koristite LEFT, RIGHT, ili ABOVE da postavite widget u skladu s tim.
disabledforeground Boja teksta vidžeta kada je vidžet onemogućen.
fg Normalna boja prednjeg plana widgeta.
height Vertikalna dimenzija dugmeta menija. Naveden je kao broj linija.
highlightcolor Boja isticanja prikazana widget-u u fokusu.
image Slika prikazana na widget-u.
justify specifikuje tačnu poziciju teksta ispod widgeta kada tekst ne može popuniti širinu vidžeta. Možemo koristiti LEFT za lijevo poravnanje, RIGHT za desno poravnanje, CENTER za centralno poravnanje.
menu Predstavlja meni naveden sa Menubutton.
padx Horizontalni padding widget-a.
pady Vertikalni padding widget-a.
relief Ova opcija određuje tip ivice. Zadana vrijednost je RAISED.
state Normalno stanje dugmeta miša je omogućeno. Možemo ga postaviti na DISABLED da ne reaguje.
text Tekst prikazan sa widget-om.
textvariable Kontrolnu varijablu tipa string možemo postaviti na tekstualnu varijablu tako da možemo kontrolisati tekst widgeta u vremenu izvođenja.
underline Tekst widgeta nije podvučen prema zadanim postavkama, ali možemo postaviti ovu opciju da bi tekst vidžeta bio podvučen.
width Predstavlja širinu widgeta u znakovima. Zadana vrijednost je 20px.
wraplength Možemo razbiti tekst widgeta u broju redova tako da tekst sadrži broj redova koji nije veći od navedene vrijednosti.

Primjer: Tkinter Menubutton

from tkinter import *  
  
top = Tk()   
top.geometry("200x250")  

# Kriranje dugmeta menija koji će na klik prikazivati jezike
menubutton = Menubutton(top, text = "Odaberi jezik", relief = FLAT)   
menubutton.grid()  

# Dodavanje dugmeta Menu
menubutton.menu = Menu(menubutton)  
menubutton["menu"]=menubutton.menu  

# Dodavanje stavki menija
menubutton.menu.add_checkbutton(label = "Engleski", variable=IntVar())  
menubutton.menu.add_checkbutton(label = "Njemački", variable = IntVar())  
menubutton.menu.add_checkbutton(label = "Francuski", variable = IntVar()) 
menubutton.menu.add_checkbutton(label = "Ruski", variable = IntVar()) 
menubutton.menu.add_checkbutton(label = "Španski", variable = IntVar()) 
menubutton.menu.add_checkbutton(label = "Italijanski", variable = IntVar()) 
  
menubutton.pack()  
  
top.mainloop()

Prikaz koda iz gornjeg primjera izgledaće ovako: