Как сделать OptionMenu поддерживать ту же ширину?

у меня есть фрагмент кода, который создает OptionMenu виджет.

...
options = ('White', 'Grey', 'Black', 'Red', 'Orange', 
           'Yellow', 'Green', 'Blue', 'Cyan', 'Purple')
var = StringVar()
optionmenu = OptionMenu(par, var, *options)
optionmenu.grid(column=column, row=row)
...

одна проблема, с которой я столкнулся, - это каждый раз, когда выбирается новая опция, изменяется ширина виджета. Я считаю,что это связано с изменением ширины текста в виджете. Как сделать виджет постоянной ширины?

3 ответов


при использовании grid команда для размещения виджета в Родительском, виджет заполнить его ячейку (попробуйте sticky="ew")


насколько мне известно, вы можете использовать optionmenu.config(width=<YOUR_WIDTH>) следующим образом:

...
optionmenu = OptionMenu(par, var, *options)
optionmenu.config(width=<YOUR_WIDTH>)
optionmenu.grid(column=column, row=row)
...

optionmenu.configure(width=<YOUR_WIDTH_HERE>)