2016-08-22 56 views
0

a。有一個場景,我已經創建瞭如下所示的標籤列表。刪除網格中放置的Tkinter窗口中的標籤列表

class test_template: 
def __init__(self, master): 
    self.master = master 

... 

def nb_code(self): 
    if nb_cnt == 0: 
     for i in range (int(no_of_fs)): 
      self.enul = Label(root, text="Enter The Number Of Fruits In Basket%d\n"%i) 
      self.enul.grid(row=i+1) 

    # Trying To Delete The List Of Labels 
    elif nb_cnt == 2: 
     for i in range (int(no_of_fs)): 
      self.enul.grid_forget() 

b。假如我有3個標籤的列表,當我嘗試通過放入一個循環來刪除它們時,只有他們第一個被刪除,這是有意義的,因爲那個標籤信息保存了分配的最後一個標籤。

c。 但是在這種情況下,我需要做些什麼來刪除完整的標籤列表?可以通過在總網格中搜索「標籤」名稱並刪除它們來完成?或者如何做?

請分享您的意見!

+1

你可以保留標籤列表,而不是重新分配給同一個變量嗎? – FamousJameous

+0

@FamousJameous:好主意......我嘗試將標籤追加到標籤列表中,並根據列表號刪除它們,並且它工作正常..但是除了相同的標籤列表之外,還尋找其他任何想法被分配到相同的變量? – Vimo

+0

我不知道有什麼辦法做到這一點。是否有避免列表的理由? – FamousJameous

回答

0

您可以得到root兒童並搜索您的標籤。

for child in root.children.values(): 
    info = child.grid_info() 
    if info['column'] == 0: 
     child.grid_forget()