> self.label.grid(row=5, column=2, column=0) Why do you have "column" twice?
Grid will always compact your GUI: if you grid something on row 3, and rows 0..2 are empty, everything is pushed up. If you add a widget at row 2, row three goes down one level to make room for row two. Similarly, for columns to the left. If you need to have the empty rows/columns shown as empty, grid some placeholders (a label with an empty text, stuff like that), and destroy them when replacing with the real widgets. Example (untested): <code> from Tkinter import * root=Tk() l1=Label(root, text='A label') l1.grid(row=2) # rows 0 and 1 are empty, so the grid manager will put the label on top # let's push it down, to the real home row pl1=Label(root) # first placeholder pl1.grid(row=0) pl2=Label(root) pl2.grid(row=1) # second placeholder # now let's put something on row 0, "real stuff" vr=StringVar() en=Entry(root, textvariable=vr) pl1.destroy() en.grid(row=0) root.mainloop() </code> About filling a cell in the grid: check the sticky option. About filling two or more adjacent cells with one widget: check the rowspan and columnspan options. Hope this help, Sorin __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com
_______________________________________________ Tkinter-discuss mailing list [email protected] http://mail.python.org/mailman/listinfo/tkinter-discuss
