为什么我的 Button 小部件不能垂直展开
Why won't my Button widget expand vertically
我正在熟悉 Tkinter,我正在尝试编写一个非常简单的程序,它使用包几何管理器在 window 中显示一个按钮。
我正在试验 pack()
的各种配置选项,例如 expand
、fill
和 side
,我已经 运行一个奇特的问题。我写了下面的代码:
from Tkinter import *
root = Tk()
widget = Button(root, text='text')
widget.pack(expand=YES, fill=BOTH)
root.mainloop()
问题是按钮扩展到水平方向填充window,但不是垂直方向。这与我使用 fill=X
而不是指定 fill=BOTH
得到的结果相同。此外,如果我改为指定 fill=Y
,则该按钮不会向任一方向展开。垂直方向的填充好像有问题,我想不通是什么问题。
我试图 Google 这个问题,但令人惊讶的是,没有人提到这件事发生在其他人身上。我正在使用带有 OS X Yosemite 和 运行ning python 2.7.5 的 Mac。我还尝试使用 python 3.4.1 进行编译,但没有看到任何变化。
编辑:
根据下面的回答和评论,很明显我的代码没有任何问题,因为它似乎可以在其他机器上运行。如果不是代码中的错误,有谁知道当我 运行 上面的代码时可能导致按钮不垂直拉伸的原因是什么?
尝试 运行 此代码以查看 fill
和 expand
的行为
from Tkinter import *
root = Tk()
root.geometry("500x500")
widget = Button(root, text='text1')
widget.pack(fill=X, expand=1)
widget = Button(root, text='text2')
widget.pack(fill=Y, expand=1)
widget = Button(root, text='text3')
widget.pack(fill=BOTH, expand=1)
root.mainloop()
参数 fill
也填充垂直方向
这是 OSX 上原生按钮的一项功能。 OSX 上的按钮高度固定,不会垂直展开。除了使用不同的小部件(例如标签)之外,您无能为力。
我也是初学者,您的代码中缺少定义填充的几何形状,如下所示:
from Tkinter import *
root = Tk()
root.geometry("600x400")
widget = Button(root, text='text')
widget.pack(expand=YES, fill=BOTH)
root.mainloop()
我正在熟悉 Tkinter,我正在尝试编写一个非常简单的程序,它使用包几何管理器在 window 中显示一个按钮。
我正在试验 pack()
的各种配置选项,例如 expand
、fill
和 side
,我已经 运行一个奇特的问题。我写了下面的代码:
from Tkinter import *
root = Tk()
widget = Button(root, text='text')
widget.pack(expand=YES, fill=BOTH)
root.mainloop()
问题是按钮扩展到水平方向填充window,但不是垂直方向。这与我使用 fill=X
而不是指定 fill=BOTH
得到的结果相同。此外,如果我改为指定 fill=Y
,则该按钮不会向任一方向展开。垂直方向的填充好像有问题,我想不通是什么问题。
我试图 Google 这个问题,但令人惊讶的是,没有人提到这件事发生在其他人身上。我正在使用带有 OS X Yosemite 和 运行ning python 2.7.5 的 Mac。我还尝试使用 python 3.4.1 进行编译,但没有看到任何变化。
编辑:
根据下面的回答和评论,很明显我的代码没有任何问题,因为它似乎可以在其他机器上运行。如果不是代码中的错误,有谁知道当我 运行 上面的代码时可能导致按钮不垂直拉伸的原因是什么?
尝试 运行 此代码以查看 fill
和 expand
from Tkinter import *
root = Tk()
root.geometry("500x500")
widget = Button(root, text='text1')
widget.pack(fill=X, expand=1)
widget = Button(root, text='text2')
widget.pack(fill=Y, expand=1)
widget = Button(root, text='text3')
widget.pack(fill=BOTH, expand=1)
root.mainloop()
参数 fill
也填充垂直方向
这是 OSX 上原生按钮的一项功能。 OSX 上的按钮高度固定,不会垂直展开。除了使用不同的小部件(例如标签)之外,您无能为力。
我也是初学者,您的代码中缺少定义填充的几何形状,如下所示:
from Tkinter import *
root = Tk()
root.geometry("600x400")
widget = Button(root, text='text')
widget.pack(expand=YES, fill=BOTH)
root.mainloop()