从tkinter中的网格中删除小部件

rod*_*ocf 9 python tkinter python-3.x

我在tkinter框架中有一个网格,显示查询结果.它有一个手动更改的日期字段,然后将日期用作查询这些结果的参数.每次更改日期时,显然结果会发生变化,从而产生不同的行数.问题是如果你第二次使用较少的行,你仍然会得到第一次查询的结果,并且会非常混乱.

我的问题是,如何从帧中删除行号大于6的所有行(无论其中包含什么内容)?

顺便说一句,我正在运行Python 3.3.3.提前致谢!

jsb*_*eno 16

grid_forget在窗口小部件上调用方法将从窗口中删除它 - 此示例使用grid_slaves父窗口上的调用来查找映射到网格的所有窗口小部件,然后grid_info调用以了解每个窗口小部件的位置:

>>> import tkinter
# create: 
>>> a = tkinter.Tk()
>>> for i in range(10):
...    label = tkinter.Label(a, text=str(i))
...    label.grid(column=0, row=i)
# remove from screen:
>>> for label in a.grid_slaves():
...    if int(label.grid_info()["row"]) > 6:
...       label.grid_forget()
Run Code Online (Sandbox Code Playgroud)