2013-08-05 36 views
5

mam następujące OptionMenu:Unikanie przycisk Tkinter OptionMenu zmiany rozmiaru

self.textoprioridad = Label(self.frameTwo, text = "Prioridad: ", justify="center") 
self.textoprioridad.grid(row=n, column=4) 
var2 = StringVar() 
menu2 = OptionMenu(self.frameTwo, var2, "Primera pieza", "Esta semana", "Normal", "Baja") 
menu2.grid(row=n, column=5, ipadx=10) 
var2.set("Primera pieza") 
self.optionmenus_prioridad.append((menu2, var2)) 

To pokazuje coś takiego:

enter image description here

Chodzi o to, że jeśli wybiorę Normal z wykazu, zmieniono rozmiar przycisku i jest on mniejszy: enter image description here

Chciałbym wiedzieć, czy W ten sposób można zachować przycisk Option Menu z początkowym rozmiarem, na przykład: enter image description here

Z góry dziękuję.

Odpowiedz

6

Określ szerokość przez config(width=desired-width):

menu2.config(width=20) 
3

Jednym rozwiązaniem jest dać widżet konkretny rozmiar, określając atrybut width:

menu2.configure(width=20) 

Innym rozwiązaniem jest mieć widżety „Stick” boki ich pojemnika:

menu2.grid(row=n, column=5, ipadx=10, sticky="ew") 

Korzystanie z seonu d, widżety mogą nadal zmieniać rozmiar, ale są ograniczone przez rozmiar kolumny, w której się znajdują. Jeśli zmienisz rozmiar, wszystkie zmieniają rozmiar, gwarantując, że zawsze będą miały jednolity rozmiar.

3

Określ sticky w metodzie grid tak, że wie, jak szeroka powinna być:

button.grid(sticky="WE") 

Ta metoda jest lepsza niż określający zbiór width w metodzie grid becuase oznacza to, że widget zawsze rozpiętość długości kolumny.

sticky to klucz, który pokazuje, gdzie widżet będzie również trzymać. jeśli powiesz, że sticky='W' widżet będzie trzymać się lewej kolumnie. Tworząc to, EW, będzie trzymać się lewej i prawej strony, a zatem rozciągać się do długości kolumny. UWAGA: to północ South East West

+0

O wiele lepszy sposób ... * co wtedy? * Pamiętaj, odpowiedzi mogą nie pojawiać się w kolejności, w jakiej je widzisz, więc jeśli masz na myśli inną odpowiedź, musisz być bardziej konkretny. –