我想在运行时根据用户请求重新排列PanedWindows中的帧。以前我为每个帧指定了master(这里是pw1)。例如:
import Tkinter as tk
root = tk.Tk()
pw1 = tk.PanedWindow(orient=tk.HORIZONTAL, sashpad=2,
sashwidth=4, sashrelief=tk.RAISED)
pw1.pack(fill=tk.BOTH, expand=1)
frame1 = tk.Frame(pw1, bg='red',width=100, height=100)
frame2 = tk.Frame(pw1, bg ='yellow',width=100,height=100)
# This seems to do the same thing:
# frame1 = tk.Frame(bg='red',width=100, height=100) # vs. tk.Frame()
# frame2 = tk.Frame(bg ='yellow',width=100,height=100)
pw1.add(frame1, sticky=tk.NSEW)
pw1.add(frame2, sticky=tk.NSEW)
root.mainloop()
指定主人有什么好处?
答案 0 :(得分:0)
master
参数可以解释为parent
。传递此内容会在parent.children
属性中添加新密钥。
如果您在未通过pw1.children
而时打印master
,请执行pw1.add()
,您将看到它返回一个空字典。
print pw1.children
#{}
pw1.add()
方法还包括pw1.children
字典中添加的小部件。我仍然不明白为什么当你通过master
时,小部件不会自动显示。