在python的init函数中master和master = none的目的是什么?

时间:2013-08-05 21:19:07

标签: python class python-2.7 python-3.x tkinter

我认为原因类似于我得到的自我。为什么主人在那里?另外,为什么它有时掌握,有时掌握=无?

e.g

class Application(tk.Frame):
    def __init__(self, master=None):
        tk.Frame.__init__(self, master)
        self.grid()
        self.createWidgets()

来自Tkinter 8.5参考:John W. Shipman的Python GUI。此外,doc将使用python2,而我将使用python3。我需要高手吗? 更多问题 我尝试在master之后添加自定义arg,它说默认后我不能添加非默认arg,我该如何修复?不是默认的arg self必须是第一个吗?

def __init__(self, master=None,inputDict):
    tk.Frame.__init__(self, master)
    self.grid(sticky=tk.N+tk.S+tk.E+tk.W)
    self.createWidgets()
def createWidgets(self,inputDict):
    top=self.winfo_toplevel()
    top.rowconfigure(0, weight=1)
    top.columnconfigure(0, weight=1)
    self.rowconfigure(0, weight=1)
    self.columnconfigure(0, weight=1)
tempDict = {}
for k,v in inputDict.items():
        if 1<=v[0]<=3:
            tempDict[k] = static_keys(*v[1:])
        elif v[0] ==4:
            tempDict[k] = dynamic_keys(*v[1:])
        elif  v[0]==5:
            tempDict[k] = key_labels(*v[1:])
return tempDict

1 个答案:

答案 0 :(得分:2)

Application类是tk.Frame的子类。 master是父窗口小部件,它是一个可选参数(默认为none),在初始化时将传递给Application类的新实例。

Take a look here for more info