I have a snippet which creates an OptionMenu
widget.
...
options = ('White', 'Grey', 'Black', 'Red', 'Orange',
'Yellow', 'Green', 'Blue', 'Cyan', 'Purple')
var = StringVar()
optionmenu = OptionMenu(par, var, *options)
optionmenu.grid(column=column, row=row)
...
One problem I've encountered is every time a new option is selected, the width of the widget changes. I believe this is due to the text within the widget changing widths. How do I make the widget hold a consistent width?
optionmenu.configure(width=<YOUR_WIDTH_HERE>)
To the best of my knowledge, you can use optionmenu.config(width=<YOUR_WIDTH>)
as follows:
...
optionmenu = OptionMenu(par, var, *options)
optionmenu.config(width=<YOUR_WIDTH>)
optionmenu.grid(column=column, row=row)
...
When you use the grid
command to place the widget in its parent, have the widget fill its cell (try sticky="ew"
)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With