Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在Tkinter中的另一帧中添加帧?_Python_User Interface_Tkinter_Frame - Fatal编程技术网

Python 如何在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'

我试图使用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()
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)
把这个习惯用法应用到你所有的小部件上,这将使你免于一些麻烦