如何在tkinter中进入下一个窗口



很抱歉这个问题措辞含糊。我已经用Tkinter创建了一个登录系统,但不确定如何为我想要制作的应用程序的主菜单创建一个新窗口。我试着打开了一个新窗口,但登录窗口仍然打开,如果我试图用.dedest命令删除它,它会关闭整个窗口。有没有办法完全刷新/打开一个新窗口?

有没有办法完全刷新/打开一个新窗口?

最简单的解决方案是将所有";窗口";内部框架——登录窗口都在单个框架内,主窗口都在一个框架内,等等

然后,当您准备从一个切换到另一个时,只需销毁登录框架并创建主窗口框架,而无需销毁主窗口。

类似的解决方案是简单地删除根窗口中的所有子窗口,然后添加新的小部件。如果所有东西都在一个帧中,这是最简单的,但您可以通过在根窗口上调用winfo_children并迭代结果来逐个销毁所有小部件。

您可以调用old_root.destroy(),这将关闭旧窗口。它还将重置tkinter中的所有全局变量,这样就好像你第一次导入tkinter一样。因此,您可以使用tk.Tk()创建一个新的tkinter窗口。我发现这种方法更直观,更容易理解/实现。

编辑:在调用old_root.destroy()之前,您需要先从条目/其他小部件中提取数据,否则数据也会被删除。

最新更新