我应该如何创建一个可以用作主应用程序窗口的类,但也可以用作辅助窗口

时间:2016-09-28 19:59:00

标签: python tkinter tk toplevel

我知道我可以将tk.Frame(或ttk.Frame)子类化并将其添加到TopLevel以创建辅助窗口,但我不确定如何将其用作主窗口。我知道创建一个Frame类的实例并在其上调用.mainloop()似乎可以用它作为主窗口,但我觉得这样做不好......

当他们制作他们希望主窗口和辅助窗口可用的GUI布局时,其他人会怎么做?

2 个答案:

答案 0 :(得分:1)

创建Frame的子类,然后将其放在根窗口或顶层中。在任何一种情况下,您仍然只在根窗口上调用mainloop一次。

您唯一需要注意的是,您必须小心让用户关闭根窗口,因为这会导致所有其他窗口被破坏。

如果您正在创建一个可以有多个窗口的程序,您可能需要考虑隐藏根窗口并始终将窗口置于Toplevel。当然,当你这样做时,你需要确保在最后一个顶层窗口被销毁时销毁根窗口,否则你的程序将继续运行,但是用户将无法访问它。

答案 1 :(得分:1)

你的意思是有一个可以翻转的主屏幕吗?如果是这样,您可以尝试查看此处:Using buttons in Tkinter to navigate to different pages of the application?

相关问题