Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.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_Grid Layout - Fatal编程技术网

Python Tkinter网格布局小部件不在父级中

Python Tkinter网格布局小部件不在父级中,python,user-interface,tkinter,grid-layout,Python,User Interface,Tkinter,Grid Layout,我正在用Tkinter用Python构建GUI,但是我在网格布局方面遇到了问题。如果您指定一个父级,那么该子级将位于您在该父级中指定的网格位置,这一假设是否正确?以下是我的例子: layout_frame = tk.Frame(master, bg="red").grid(row=1, column=2, rowspan=9, sticky=tk.N+tk.S+tk.W+tk.E) inner_frame = tk.Frame(master=layout_frame, bg="red").gri

我正在用Tkinter用Python构建GUI,但是我在网格布局方面遇到了问题。如果您指定一个父级,那么该子级将位于您在该父级中指定的网格位置,这一假设是否正确?以下是我的例子:

layout_frame = tk.Frame(master, bg="red").grid(row=1, column=2, rowspan=9, sticky=tk.N+tk.S+tk.W+tk.E)
inner_frame = tk.Frame(master=layout_frame, bg="red").grid(row=0, column=0, rowspan=9, sticky=tk.N+tk.S+tk.W+tk.E)
我的问题是
内部框架
位于主控中的网格位置(0,0),而不是
布局框架
。为什么它不在指定的父对象中的位置(0,0)处


谢谢

layout\u frame
是调用
grid
的结果(它不是,也不是您刚才创建的框架)。当小部件的父项为None时,Tkinter将父项设置为根元素,因此必须首先创建框架,并在单独的语句中调用
grid

layout_frame = tk.Frame(master, bg="red")
layout_frame.grid(row=1, column=2, rowspan=9, sticky=tk.N+tk.S+tk.W+tk.E)
inner_frame = tk.Frame(master=layout_frame, bg="red")
inner_frame.grid(row=0, column=0, rowspan=9, sticky=tk.N+tk.S+tk.W+tk.E)

当然非常感谢,真不敢相信我错过了。。!