5

我有以下选项菜单:

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))

这表明了这样的事情:

在此处输入图像描述

问题是,如果我Normal从列表中选择,按钮会调整大小并变小: 在此处输入图像描述

我想知道是否有任何方法可以使 OptionMenu 按钮保持初始大小,如下所示: 在此处输入图像描述

提前致谢。

4

3 回答 3

7

指定宽度config(width=desired-width)

menu2.config(width=20)
于 2013-08-05T09:57:11.543 回答
3

一种解决方案是通过指定width属性为小部件指定特定大小:

menu2.configure(width=20)

另一种解决方案是让小部件“粘”在容器的侧面:

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

使用第二个选项,小部件仍然可以调整大小,但它们受到它们所在列的大小的限制。如果调整大小,它们都会调整大小,保证它们的大小总是一致的。

于 2013-08-05T10:40:13.280 回答
3

sticky在方法中指定 agrid以便它知道需要多宽:

button.grid(sticky="WE")

这种方法比widthgrid方法中指定一个集合要好,因为它意味着小部件将始终跨越列的长度。

sticky是一个键,它显示小部件也将粘贴在哪里。如果您说sticky='W'小部件将粘在列的左侧。通过制作EW,它将粘在左右两侧,因此将其自身拉伸到列的长度。注意:它是东南西北

于 2013-08-05T10:43:46.603 回答