Tkinter框架 - 类

时间:2016-12-07 21:14:21

标签: python tkinter

所以我使用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

1 个答案:

答案 0 :(得分:0)

你在做什么可能很好。我说“可能”因为它取决于你在问题中没有解释的许多因素。

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

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

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