簡體   English   中英

如何在 tkinter 中恢復損壞的小部件?

[英]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_forgetgrid_forgetgrid_removeplace_forget之一來隱藏它,具體取決於您想要發生的事情以及您用來將其添加到 window 的工具( packgridplace )。

如果您希望經常隱藏和顯示一個小部件,那么grid是最佳選擇,因為grid_remove會記住該項目的放置方式。 隨后調用不帶 arguments 的grid()將恢復所有設置。 packplace在忘記時不會記住小部件的配置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM