使用网格将标签放置在 tkinter 框架内

placing labels within tkinter frame using grid

我正在尝试将标签放置在框架内的网格内。但是,它们似乎位于错误的位置。在下面的代码中,我尝试将标签放置在 row=1,column=0 和 row=2,column=0 处。但是,它们位于 row=0,column=0 和 row=1,column=0。请看下面的代码。如何让 tkinkter 将标签放置在我想要的位置?

import tkinter

root = tkinter.Tk()
root.wm_title('testing grid layout')

# creates frames 
# height and width are specified in inches but do not seem to be respected
Frame00 = tkinter.Frame(root,bg = 'white', width = '1.0i', height='5.0i')

# divide the root grid into one row and one column
root.grid_rowconfigure(0, weight=0)
root.grid_columnconfigure(0, weight=0)

# place Frame00 into the root grid
Frame00.grid(column=0,row=0)

# Frame00 has four rows and one column
Frame00.grid_rowconfigure(0,weight=0)
Frame00.grid_rowconfigure(1,weight=0)
Frame00.grid_rowconfigure(2,weight=0)
Frame00.grid_rowconfigure(3,weight=0)
Frame00.grid_columnconfigure(0,weight=0)

# I'm specifying row=1 and column=0
# but it seems to be placed in row=0 and column=0
label1 = tkinter.Label(Frame00, text='Label 1')
label1.grid(row=1,column=0)

# I'm specifying row=2 and column=0
# but it seems to be placed in row=1 and column=0 
label2 = tkinter.Label(Frame00, text='Label 2')
label2.grid(row=2,column=0)

tkinter.mainloop()

第 0 行为空,因此不占用 space。您可以给它一些内容,例如具有固定高度的标签。此外,您的 grid_rowconfigure()grid_columnconfigure() 电话似乎表明您可能需要研究该主题。我相信默认情况下权重为 0,因此您可以选择要扩展的权重 space 并给它们 weight=1 并忽略其余的。