【问题标题】:How should I make a class that can be used as my main app window, but also can be used as a secondary window我应该如何制作一个可以用作我的主应用程序窗口,但也可以用作辅助窗口的类
【发布时间】:2016-09-28 19:58:59
【问题描述】:

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

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

【问题讨论】:

  • 不确定你在问什么。主窗口(如果你指的是根窗口)也是一个Toplevel 对象。

标签: python tkinter tk toplevel


【解决方案1】:

创建一个框架的子类,然后将它放在根窗口或顶层。无论哪种情况,您仍然只在根窗口上调用一次mainloop

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多