Tkinter 最后一个网格不更新父网格

Tkinter 最后一个网格不更新父网格,tkinter,Tkinter,LabelFrame f在第一个网格之后更新,但在第二个网格之后不会更新。为什么? 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

LabelFrame f在第一个网格之后更新,但在第二个网格之后不会更新。为什么?

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()

一旦删除框架的最后一个子项,grid将不再拥有该窗口,因此它不知道需要调整框架的大小


最简单的解决方案是在其中放置一个小的1x1像素帧,它将保持网格作为框架内小部件的管理器

啊,太好了!在我的真实代码中,我真正想做的唯一一件事就是在删除最后一个子小部件时,总是在f的父级中触发configure事件。我知道这个补丁可以做到这一点,但也许我可以直接做到?但我肯定也会同意你的解决方案。在删除最后一个子行为时从网格中删除不是一个bug,还是一个实际使用的特性?我真的很感激你的回答。所有这些…@FredrikJohansson:我不知道它是否被归类为臭虫。