Tk基本标签放置

时间:2013-01-30 02:37:46

标签: python tkinter tk ttk

为什么在这个真正基本的代码片段中,数据标签(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)

1 个答案:

答案 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)