I’m trying to place labels within a grid within a Frame. However, they seem to be positioned at the wrong location. In the following code, I’m trying to place Labels at row=1,column=0 and row=2,column=0. However, they get placed at row=0,column=0 and row=1,column=0. Please see the code below. How do I get tkinkter to place the labels at the location I desire?
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()
Source: Python Questions