繁体   English   中英

在tkinter中从网格删除小部件

[英]remove widgets from grid in tkinter

我在tkinter框架中有一个网格,用于显示查询结果。 它具有一个手动更改的日期字段,然后将date用作这些结果的查询参数。 每次更改日期时,结果显然都会更改,从而产生不同数量的行。 问题是,如果第二次获得的行较少,则在这些查询的下面仍然会有来自第一个查询的结果,这将非常令人困惑。

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

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

调用小部件上的grid_forget方法会将其从窗口中删除-此示例使用父grid_slaves上的调用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()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM