Python 从tkinter中的网格中删除小部件
我在tkinter框架中有一个网格,显示查询结果。它有一个手动更改的日期字段,然后将日期用作这些结果的查询参数。每次更改日期时,结果显然都会更改,从而产生不同数量的行。问题是,如果第二次执行该操作时得到的行数较少,那么第一次查询的结果仍将位于这些行下面,这将非常混乱 我的问题是,如何从帧中删除行号大于6的所有行(无论其中包含什么)Python 从tkinter中的网格中删除小部件,python,python-3.x,tkinter,Python,Python 3.x,Tkinter,我在tkinter框架中有一个网格,显示查询结果。它有一个手动更改的日期字段,然后将日期用作这些结果的查询参数。每次更改日期时,结果显然都会更改,从而产生不同数量的行。问题是,如果第二次执行该操作时得到的行数较少,那么第一次查询的结果仍将位于这些行下面,这将非常混乱 我的问题是,如何从帧中删除行号大于6的所有行(无论其中包含什么) 顺便说一下,我正在运行Python 3.3.3。提前谢谢 在小部件上调用方法grid\u forget,将从窗口中删除该方法- 本例使用父级上的调用grid\u sl
顺便说一下,我正在运行Python 3.3.3。提前谢谢 在小部件上调用方法
grid\u forget
,将从窗口中删除该方法-
本例使用父级上的调用grid\u slaves
查找所有
小部件映射到网格,然后调用grid\u 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()
请发布一些代码,让我了解您是如何设置代码的,这样响应才有意义。另外,请参阅Brian Oakley的回答,该回答与您的要求基本一致,不是吗?太棒了!这正是我想要的!但问题是,如果我不知道小部件的名称,我怎么能做到这一点呢?上面截取的部分正好说明:它根本不使用任何python端对小部件的引用,而是通过方法调用检索小部件及其位置。(当然,您需要对父窗口小部件的引用)从2020年开始,这仍然是一个非常可行的选择。干得好@jsbueno。