Python 如何在Tkinter中的另一帧中添加帧?
我试图使用tkinter在另一个帧中添加一个帧,但未添加该帧: 代码:Python 如何在Tkinter中的另一帧中添加帧?,python,user-interface,tkinter,frame,Python,User Interface,Tkinter,Frame,我试图使用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'
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()
its显示以下输出
是什么导致了您的问题?
lframe
值None
,并且不会引用您在中创建的框架实例。为什么会这样
因为布局管理器是不返回任何内容的函数。所以当你写作时:
lframe=Frame(r,width=1000,height=650,relief='raise',bd=8).pack(side=LEFT)
您显然没有从pack(side=LEFT)
如何解决您的问题?
只要在创建小部件时遵循这个原则:创建然后定位(在您的情况下,您同时创建和定位小部件)。我个人把这一原则称为。这意味着前一行代码应编写如下:
lframe=Frame(r,width=1000,height=650,relief='raise',bd=8)
lframe.pack(side=LEFT)
把这个习惯用法应用到你所有的小部件上,这将使你免于一些麻烦