2016-02-05 44 views
0

我有这个tkinter GUI,其中我在一个列表中追加条目窗口小部件的值,并类似地输入选项菜单(选项)在另一个列表中。 我面临一个问题,因为当我删除我的一个小部件时,其值也应该在相应的列表中删除,但它不这样做。它的值仍然在列表中。 为deleting-我使用下面的代码Tkinter-GUI将条目添加到列表中 - 在删除窗口小部件后,其值仍然附加

self.number_row=self.number_row-1 
oneList=list(self.listFrame.grid_slaves(row=int(self.number_row))) 
for l in OneList: 
    l.grid_remove() 

和appending-

self.entry_domain=Entry(self.listFrame) 
self.entry_domain.grid(column=3,row=int(self.number_row),columnspan=2,sticky="EW") 
self.entries_domain.append(self.entry_domain) 

我想我做错了在删除部件

+2

首先,您实际上并未删除小部件,只是将它们从几何管理系统中删除。其次,我没有看到代码中的任何东西,甚至看起来像试图从“list”中移除任何东西。 – TigerhawkT3

回答

1

当你调用grid_remove(),你是不是删除小部件。你所做的只是将它从屏幕上移除。该对象仍然存在,这就是为什么你仍然可以调用它的get方法。

销毁小部件的正确方法是调用destroy()方法。但是,这仍然不会将其从列表中删除。您必须明确删除del后的后调用destroy())或明确从列表中删除该对象。

相关问题