上一次grid_forget不更新父级

时间:2018-04-09 10:29:05

标签: tkinter

LabelFrame f在第一个grid_forget之后更新,但不在第二个之后更新。为什么呢?

import tkinter as tk

root=tk.Tk()
f = tk.LabelFrame(root, text='The frame')
l1 = tk.Label(f, text='Label1')
l1.grid()
l2 = tk.Label(f, text='Label2')
l2.grid()

f.after(3000, l1.grid_forget)
f.after(6000, l2.grid_forget)
f.pack(fill=tk.BOTH, expand=True)
root.mainloop()

1 个答案:

答案 0 :(得分:1)

删除帧的最后一个子节点后,grid不再“拥有”该窗口,因此它不知道它需要调整帧的大小。

最简单的解决方案是在其中放置一个小的1x1像素帧,这将保留grid作为帧内小部件的管理器。