我应该如何制作一个既可以用作我的主应用程序 window,又可以用作辅助应用程序 window 的 class
How should I make a class that can be used as my main app window, but also can be used as a secondary window
我知道我可以 subclass a tk.Frame(或 ttk.Frame)并将其添加到 TopLevel 以成为次级 windows,但我不确定我应该如何将其用作主要 window。我知道创建一个 Frame class 的实例并在其上调用 .mainloop() 似乎可以将其用作主要 window,但我觉得这是不好的做法...
其他人在制作他们希望主要 windows 和次要 windows 可用的 GUI 布局时会做什么?
创建框架的子类,然后将其放入根 window 或顶层。无论哪种情况,您仍然只在根 window.
上调用 mainloop
一次
您唯一需要注意的是,让用户关闭根 window 时必须小心,因为这会导致所有其他 windows 被破坏。
如果您正在创建一个可以有多个 windows 的程序,您可能需要考虑隐藏根 window 并始终将 window 放在 Toplevel
].当然,当你这样做时,你需要确保在最后一个顶层 window 被销毁时销毁根 window,否则你的程序将继续 运行 但用户将没有访问方式。
您的意思是有一个可以翻回的主屏幕吗?如果是这样,您可以尝试查看此处:Using buttons in Tkinter to navigate to different pages of the application?
我知道我可以 subclass a tk.Frame(或 ttk.Frame)并将其添加到 TopLevel 以成为次级 windows,但我不确定我应该如何将其用作主要 window。我知道创建一个 Frame class 的实例并在其上调用 .mainloop() 似乎可以将其用作主要 window,但我觉得这是不好的做法...
其他人在制作他们希望主要 windows 和次要 windows 可用的 GUI 布局时会做什么?
创建框架的子类,然后将其放入根 window 或顶层。无论哪种情况,您仍然只在根 window.
上调用mainloop
一次
您唯一需要注意的是,让用户关闭根 window 时必须小心,因为这会导致所有其他 windows 被破坏。
如果您正在创建一个可以有多个 windows 的程序,您可能需要考虑隐藏根 window 并始终将 window 放在 Toplevel
].当然,当你这样做时,你需要确保在最后一个顶层 window 被销毁时销毁根 window,否则你的程序将继续 运行 但用户将没有访问方式。
您的意思是有一个可以翻回的主屏幕吗?如果是这样,您可以尝试查看此处:Using buttons in Tkinter to navigate to different pages of the application?