【发布时间】:2015-08-13 07:46:26
【问题描述】:
我是 Python 新手,但不是编程新手。在this tutorial 中,作者在他的类中初始化了一个构造函数,如下所示:
class simpleapp_tk(Tkinter.Tk):
def __init__(self,parent):
Tkinter.Tk.__init__(self,parent)
我理解,您在 C# 和 Java 中也是如此。但是,在this tutorial,作者为什么不这样做呢?他只初始化应用程序。像这样:
app = Tk()
在什么情况下我会做第二个而不是第一个?您认为哪个更好?
【问题讨论】:
-
谢谢,但是视频中的那个人从来没有真正完成你在 app = Tk() 之前提供的链接中的所有代码,为什么?
-
我没有看过视频,但大概他们不需要/想要提供的控制级别。子类化 Tkinter 组件为您提供了许多额外的选项,但如果您实际上并不需要这些选项(例如,您只是创建一个简单的 UI),那么可能不值得付出努力。或者,由于它是一个教程,他们可能会选择专注于 Tkinter 开发的其他方面,而不涉及 OOP 方面。不过,只有他们可以肯定地回答!
-
谢谢,我现在明白了。
标签: python