![](/img/trans.png)
[英]Tkinter: How can I dynamically create a widget that can then be destroyed or removed?
[英]How do I restore a destroyed widget in tkinter?
def change_section_to_main():
SUB_SECTION.destroy()
APP_MAIN_FRAME.pack()
我想恢復小部件“APP_MAIN_FRAME”。 我以為我可以用 pack() 做到這一點,結果我錯了。 我不斷收到此錯誤>>
_tkinter.TclError: bad window path name ".!frame
您不能“破壞”小部件。 一旦被破壞,就不能再使用了。
通常,這個特定問題的解決方案是隱藏小部件而不是銷毀它。 您可以使用pack_forget
、 grid_forget
、 grid_remove
或place_forget
之一來隱藏它,具體取決於您想要發生的事情以及您用來將其添加到 window 的工具( pack
、 grid
或place
)。
如果您希望經常隱藏和顯示一個小部件,那么grid
是最佳選擇,因為grid_remove
會記住該項目的放置方式。 隨后調用不帶 arguments 的grid()
將恢復所有設置。 pack
和place
在忘記時不會記住小部件的配置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.