我正在制作一个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()
为什么它只填充水平而不是垂直?
答案 0 :(得分:4)
您需要传递expand
option,其值大于0,以告知包几何管理器为窗口小部件分配附加空间。
mainframe.pack(side=TOP, fill=BOTH, expand=1)
否则,小部件将不会展开。
请参阅Pattern - Filling the entire parent widget - The Tkinter Pack Geometry Manager。