python 3.4 tkinter框架没有填充垂直方向

时间:2014-12-27 18:59:25

标签: python python-3.x tkinter frame python-3.4

我正在制作一个tkinter应用程序来查看一个情节。我希望窗口在启动时最大化,这是有效的。我还想制作一个框架,我可以在其中放置图表及其信息。当我打包框架并尝试使其填充水平和垂直时,它会出错。它确实填充水平,但不填充垂直。在这里搜索答案只给我带有滚动条的框架。

这是我使用的代码。

from tkinter import *
from tkinter.filedialog import askopenfilename
import tkinter.messagebox as messagebox
import datetime, os

root = Tk()

tl = root.winfo_toplevel()
tl.wm_state('zoomed')

mainframe = Frame(root, bd=1, relief=RAISED, cursor="dotbox")
mainframe.pack(side=TOP, fill=BOTH)    # It only fills horizontal

root.mainloop()

为什么它只填充水平而不是垂直?

1 个答案:

答案 0 :(得分:4)

您需要传递expand option,其值大于0,以告知包几何管理器为窗口小部件分配附加空间。

mainframe.pack(side=TOP, fill=BOTH, expand=1)

否则,小部件将不会展开。


请参阅Pattern - Filling the entire parent widget - The Tkinter Pack Geometry Manager