学习Tkinter并且我只在没有OOP的情况下找到了关于Tkinter的教程,但是看看Python.org文档,它看起来就像在OOP中一样。使用课程的好处是什么?从我迄今为止所学到的东西来看,这似乎是更多的工作和语法。
答案 0 :(得分:2)
这将是一个非常通用的答案,无论如何,大多数答案将是自以为是。说到这一点,答案可能会因此而被低估和关闭。
无论如何......让我们说你有一个很大的GUI,有一堆复杂的逻辑确定你可以编写一个包含数百行(如果不是数千行)的大文件,并通过不同的函数代理一堆东西让它起作用。但是,逻辑很混乱。
如果您可以划分GUI的不同部分以及围绕它们的所有逻辑,该怎么办?然后,获取这些组件并将它们聚合成构成GUI的总和?
这正是您可以在Tkinter中使用类的内容。更一般地说,这基本上就是你使用类的东西 - 将事物抽象为(可重用的 - 实例)对象,这些对象提供了有用的实用程序。
示例:强>
我第一次学习它时,很久以前和Tkinter建立的应用程序是一个文件移动程序。文件移动程序允许您选择源/目标目录,具有日志记录功能,搜索功能,下载完成时的监视进程,以及正则表达式重命名选项,解压缩归档等。基本上,我可以想到移动文件的所有内容。
所以,我所做的就是将这个应用程序拆分为(高级别)
1)拥有一个main,它是构成主GUI的组件的集合
聚合本质上是一个侧边栏,用于选择各种选项的按钮/标签根据需要分成各自的部分,以及用于操作记录+搜索的滚动文本区域。
因此,主要组件分为这样:
2)侧边栏具有以下组件
包含监控流程选项的部分
包含自定义正则表达式选项或用于重命名文件的预制表达式的部分
拆包
3)具有搜索功能的日志/文本区域部分+用于转储(保存)日志文件或查看它们的选项。
这是" big"的高级描述。由较小组件组成的组件,它们是它们自己的类。因此,通过使用类,我能够将复杂的逻辑包装成自包含的小块。
当然,你可以用功能做同样的事情,但你有"件" GUI的一部分,您可以考虑适合的对象(类)。因此,它只是为了更清晰的代码/逻辑。