如何在 Tkinter 中的另一个框架内添加一个框架?

How to add an Frame inside another frame in Tkinter?

我正在尝试使用 tkinter 在另一个框架内添加一个框架,但未添加该框架:

代码:

lframe=Frame(r,width=1000,height=650,relief='raise',bd=8).pack(side=LEFT)

rframe=Frame(r,width=350,height=650,relief='raise',bd=8).pack(side=RIGHT)



lframe1=Frame(lframe,width=1000,height=100,bd=8,relief='raise').pack(side= TOP)

lframe2=Frame(lframe,width=1000,height=55,bd=8,relief='raise').pack(side=TOP)

rframe1=Frame(rframe,width=350,height=215,relief='raise',bd=8).pack(side=TOP)

rframe2=Frame(rframe,width=350,height=415,relief='raise',bd=8).pack(side=TOP)

r.mainloop()

它显示以下输出

是什么导致了您的问题?

lframeNone 并且不引用您创建的框架实例。为什么会这样?

因为 pack()gird()place() 布局管理器是 return 没有的功能。所以当你写:

lframe=Frame(r,width=1000,height=650,relief='raise',bd=8).pack(side=LEFT)

您显然从 pack(side=LEFT)

得到 None

如何解决您的问题?

创建小部件时只需遵循以下原则:先创建然后定位(在您的情况下,您同时创建和定位小部件)。我个人将这个原则称为The SaYa idiom。也就是说,上一行代码应该写成:

lframe=Frame(r,width=1000,height=650,relief='raise',bd=8)
lframe.pack(side=LEFT)

将此习语应用到您的所有小部件,这将使您免于一些麻烦。