如何让OptionMenu保持相同宽度?

15 投票
5 回答
40658 浏览
提问于 2025-04-16 15:32

我有一段代码,用来创建一个 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)
...

我遇到的一个问题是,每次选择一个新选项时,这个小部件的宽度都会变化。我觉得这是因为小部件里面的文字宽度不一样。请问我该怎么做才能让这个小部件的宽度保持一致呢?

5 个回答

3
optionmenu.configure(width=<YOUR_WIDTH_HERE>)

当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。

35

根据我所知道的,你可以这样使用 optionmenu.config(width=<YOUR_WIDTH>)

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

当你使用 grid 命令把一个小部件放到它的父容器里时,可以让这个小部件填满它所在的格子(可以试试 sticky="ew")。

撰写回答