我对tkinter还不熟悉,我想知道是否有一种方法可以清除整个根(窗口)。我尝试过使用root.destroy(),但我希望有机会撤销(回调一些小部件)。我也尝试过.pack_forget()和.grid_forget(),但这需要很长时间,以后可能会在程序中造成许多错误。
谢谢你的帮助。
发布于 2015-02-26 21:38:26
如果您计划销毁根窗口中的所有内容,我的建议是将单个框架作为根窗口的子框架,然后将所有内容放入该框架中。然后,当您需要清除根窗口时,只需删除这一个小部件,它将负责删除所有其他小部件。
如果您不想销毁只想隐藏它们的小部件,最好的解决方案是使用grid,以便您可以使用grid_forget将它们从视图中删除,而使用grid使它们再次可见。您可以使用pack和pack_forget,但是pack不记得小部件在哪里,这使得在不做大量工作的情况下很难恢复它们。
如果您的程序是由小部件的逻辑组组成的,那么可以使用框架来创建组,然后可以一次对整个框架进行destroy或调用grid_forget,而不必对每个单独的小部件都这样做。
发布于 2015-08-13 17:11:06
for ele in root.winfo_children():
ele.destroy()https://stackoverflow.com/questions/28752446
复制相似问题