簡體   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