Python 如何在tkinter中恢复已销毁的小部件? def将分区更改为主分区() 第节销毁() APP_MAIN_FRAME.pack()

Python 如何在tkinter中恢复已销毁的小部件? def将分区更改为主分区() 第节销毁() APP_MAIN_FRAME.pack(),python,tkinter,destroy,Python,Tkinter,Destroy,我想还原小部件“应用程序主框架”。我以为我可以用pack()来做,结果我错了。我一直收到这个错误>> \u tkinter.TclError:错误的窗口路径名“!frame!” 您不能“取消”小部件。一旦它被销毁,就不能再使用它 通常,此特定问题的解决方案是隐藏小部件而不是销毁它。您可以使用pack\u-forget、grid\u-forget、grid\u-remove或place\u-forget中的一种来隐藏它,具体取决于您想要发生什么以及使用哪种工具(pack、grid或place)用于

我想还原小部件“应用程序主框架”。我以为我可以用pack()来做,结果我错了。我一直收到这个错误>>

\u tkinter.TclError:错误的窗口路径名“!frame!”
您不能“取消”小部件。一旦它被销毁,就不能再使用它

通常,此特定问题的解决方案是隐藏小部件而不是销毁它。您可以使用
pack\u-forget
grid\u-forget
grid\u-remove
place\u-forget
中的一种来隐藏它,具体取决于您想要发生什么以及使用哪种工具(
pack
grid
place
)用于将其添加到窗口中


如果希望经常隐藏和显示小部件,
grid
是最佳选择,因为
grid\u remove
将记住项目的放置方式。随后调用
grid()
无参数将恢复所有设置。
pack
place
忘记小部件时,不要记住它的配置。

使用
SUB\u SECTION.pack\u forget()
而不是
SUB\u SECTION.destroy()
,假设您使用了需要提供的
.pack
。您应该使用
place-place\u-forget()
grid-grid\u-forget()
pack-pack\u-forget()