Tkinter-GUI将条目添加到列表中 - 在删除窗口小部件后,其值仍然附加
问题描述:
我有这个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)
我想我做错了在删除部件
答
当你调用grid_remove()
,你是不是删除小部件。你所做的只是将它从屏幕上移除。该对象仍然存在,这就是为什么你仍然可以调用它的get
方法。
销毁小部件的正确方法是调用destroy()
方法。但是,这仍然不会将其从列表中删除。您必须明确删除del
(后的后调用destroy()
)或明确从列表中删除该对象。
首先,您实际上并未删除小部件,只是将它们从几何管理系统中删除。其次,我没有看到代码中的任何东西,甚至看起来像试图从“list”中移除任何东西。 – TigerhawkT3