Python 如何使选项菜单保持相同的宽度?

Python 如何使选项菜单保持相同的宽度?,python,tkinter,optionmenu,Python,Tkinter,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) ... 我遇到的一个问题是

我有一个创建
选项菜单
小部件的代码片段

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

我遇到的一个问题是每次选择一个新选项时,小部件的宽度都会改变。我相信这是由于小部件中的文本改变了宽度。如何使小部件保持一致的宽度

当您使用
grid
命令将小部件放入其父级时,请让小部件填充其单元格(请尝试
sticky=“ew”

据我所知,您可以使用
optionmenu.config(width=)
如下:

...
optionmenu = OptionMenu(par, var, *options)
optionmenu.config(width=<YOUR_WIDTH>)
optionmenu.grid(column=column, row=row)
...
。。。
选项菜单=选项菜单(par、var、*选项)
optionmenu.config(宽度=)
optionmenu.grid(列=列,行=行)
...
选项菜单。配置(宽度=)

这对我不起作用。我正在使用一个下拉框。但它在下拉列表中扩展了长选项。另一种方法是找到该列中所有小部件的最大宽度,然后将选项菜单中变量的默认值设置为“*”(选项小部件的最大宽度/字体大小)。可以使用widget.update()和widget.winfo_width()获得小部件的大小
optionmenu.configure(width=<YOUR_WIDTH_HERE>)