0

为什么在这个非常基本的代码片段中,数据标签 (lb_data) 没有出现在其父窗口小部件 (fr_body) 中,而是出现在 fr_header 中?

(高度、宽度和浮雕只是用来显示框架小部件的位置)

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)
4

1 回答 1

1

.grid方法返回None。所以,fr_header实际上是被赋予了 value None。当你将它传递给你的标签时,你会Tkinter看到None并假设你想让主小部件成为根小部件 ( Tk())。

我从不创建小部件,grid与此同时,您对刚刚创建的小部件失去了轻松处理。改为这样做:

fr_header=ttk.Frame(root,width=100,height=100,relief=GROOVE)
fr_header.grid(row=0,column=0)
于 2013-01-30T02:44:01.730 回答