2016-09-28 18 views
-1

我知道我可以创建一个tk.Frame(或ttk.Frame)的子类并将其添加到TopLevel做辅助窗口,但我不知道我应该如何使用它作为主窗口。我知道创建一个Frame类的实例并调用.mainloop()对它来说似乎适用于将它用作主窗口,但我觉得这是不好的做法...我应该如何创建一个可以用作我的主应用程序窗口的类,但也可以用作辅助窗口

其他人做什么时他们做什么正在制作他们想要用于主窗口和辅助窗口的GUI布局?

+0

不知道你在问什么。主窗口(如果你是指根窗口)也是一个'Toplevel'对象。 – Goyo

回答

1

创建一个Frame的子类,然后将其放在根窗口或顶层。无论哪种情况,您仍然只在根窗口上拨打mainloop一次。

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

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

相关问题