【问题标题】:Tkinter Frames - ClassesTkinter 框架 - 类
【发布时间】:2016-12-07 21:14:20
【问题描述】:

所以我正在使用 tkinter 制作 GUI,目前我有几个不同的框架。我编程的方式是只使用一个大型类,但我在网上看到的任何地方(比如这里 - https://pythonprogramming.net/change-show-new-frame-tkinter/),人们都在为每个“页面”使用一个新类。我做错了/效率低下还是没问题?

很遗憾,我无法显示我的代码,因为它适用于 CA,但以下类似:

class App(tk.Frame):
    def __init__(self):
         tk.Frame.__init(self)
         self.PageOne()

    def PageOne(self):
         coding stuff

    def PageTwo(self):
         pass

【问题讨论】:

    标签: python tkinter


    【解决方案1】:

    你正在做的可能没问题。我说“可能”是因为这取决于您在问题中没有解释的许多因素。

    您引用的教程来自stackoverflow answer,该教程明确说明了如何在两个帧之间切换。这不一定是推荐的编码方式,它只是众多方式中的一种。

    话虽如此,如果您有不同的页面,那么如果每个页面都是一个独立的对象,您可能会发现管理代码会更容易。这样做为每个页面提供了自己的命名空间,因此您不必担心一个页面会意外修改属于其他页面的数据。此外,对于较大的项目,它允许您在单独的文件中实现每个页面,这样您就不会得到一个充满代码的巨大文件。

    由于并非所有 GUI 都以页面概念为导向,因此这种技术并不是一种万能的解决方案。可以将每个页面做成一个类,也可以通过函数创建每个页面。选择取决于许多变量,例如您对使用类的舒适度、项目的大小、您正在创建的 UI 类型等等。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-13
      • 1970-01-01
      • 2015-07-13
      相关资源
      最近更新 更多