import tkinter as tk
class main(tk.Frame):
def __init__(self, master=None):
super().__init__(master)
# self.master = master
class content_win(tk.Frame):
def __init__(self, master=None):
super().__init__(master)
self.master = master
root = tk.Tk()
left_f = main(master=root)
right_f = main(master=root)
print(left_f.master is right_f.master)
## 结果为True,表明指向的是同一个对象,那么官方教程里self.master = master这一步是否多余?比较疑惑
super().__init__(master)
实际上已经将master
作为self
的一个属性了。在创建示例的代码中,master都指向了root
,所以结果为True
这应该是为了让代码更加方便理解,所以多一步初始化。其实就是可读性,格式的问题