我熟悉Tkinter,并且尝试编写一个非常简单的程序,该程序使用包几何管理器在窗口中显示一个按钮。
我与各种配置选项试验pack(),如expand,fill和side,和我碰到一个特殊的问题。我写了以下代码:
pack()
expand
fill
side
from Tkinter import * root = Tk() widget = Button(root, text='text') widget.pack(expand=YES, fill=BOTH) root.mainloop()
问题在于按钮会在水平方向(而不是垂直方向)上展开以填充窗口。如果没有指定fill=BOTH我使用,则得到的结果相同fill=X。另外,如果我指定fill=Y的话,按钮不会向任一方向扩展。垂直方向上的填充似乎出了问题,我无法弄清楚它可能是什么。
fill=BOTH
fill=X
fill=Y
我尝试使用Google搜索此问题,但令人惊讶的是,其他任何人都没有提及此情况。我在Mac上使用OS X Yosemite,并运行python 2.7.5。我也尝试使用python 3.4.1进行编译,但没有发现任何变化。
编辑:
根据下面的答案和注释,很明显我的代码没有错,因为它似乎可以在其他计算机上运行。如果代码中没有错误,那么在我运行上述代码时,是否有人知道导致按钮无法垂直拉伸的原因?
这是OSX上本机按钮的功能。OSX上的按钮将为固定高度,并且不会垂直扩展。除了使用其他小部件(例如标签),您无能为力。