微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 tkinter 中恢复被破坏的小部件?

如何解决如何在 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 之一隐藏它,具体取决于您想要发生的事情以及使用哪种工具 (packgridplace) 用于将其添加到窗口中。

如果您希望经常隐藏和显示小部件,grid 是最佳选择,因为 grid_remove 会记住该项目的放置方式。随后不带参数调用 grid() 将恢复所有设置。 packplace 在忘记时不​​记得小部件的配置。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。