为什么在这个真正基本的代码片段中,数据标签(lb_data)没有出现在其父窗口小部件(fr_body)中,而是出现在fr_header中?
(高度,宽度和浮雕就是用来显示Frame小部件的位置)
fr_header=ttk.Frame(root,width=100,height=100,relief=GROOVE).grid(row=0,column=0)
lb_title=ttk.Label(fr_header,text="Title Title Title").grid(row=0,column=0)
fr_body=ttk.Frame(root,width=150,height=150,relief=SUNKEN).grid(row=1,column=0)
lb_data=ttk.Label(fr_body,text="Data").grid(row=0,column=0)
答案 0 :(得分:1)
.grid
方法返回None
。因此,fr_header
实际上被分配了值None
。当您将其传递给标签时Tkinter
会看到None
并假设您要将主窗口小部件设为根窗口小部件(Tk()
)。
我从不同时创建一个小部件和grid
,因为您在刚创建的小部件上失去了轻松的句柄。这样做是这样的:
fr_header=ttk.Frame(root,width=100,height=100,relief=GROOVE)
fr_header.grid(row=0,column=0)