I have a small Python test application as I am learning Python and Tkinter, and I'm trying to figure out how to evenly resize the label grid in a window. I would like to make a large grid of different colored squares, so I use labels with the background color set to create the squares. I would like to resize the squares automatically when the user expands the window and then resizes and zooms out so that the size is the same as the window size is reduced.
Something like that:

This changes and scales evenly:

In other words: each label should scale evenly on the window scale. I'm not even sure if I use the correct terms with the "window" and the "widgets". But I put labels on gui.
Test code that I use to try to get this to work:
import Tkinter class simpleapp_tk(Tkinter.Tk): def __init__(self,parent): Tkinter.Tk.__init__(self,parent) self.parent = parent self.initialize() def initialize(self): self.grid() label = Tkinter.Label(self,anchor="center",bg="green") label.grid(column=0,row=0,sticky='EW') label2 = Tkinter.Label(self,anchor="center",bg="black") label2.grid(column=1,row=0,sticky='EW') label3 = Tkinter.Label(self,anchor="center",bg="red") label3.grid(column=2,row=0,sticky='EW') label4 = Tkinter.Label(self,anchor="center",bg="purple") label4.grid(column=0,row=1,sticky='EW') label5 = Tkinter.Label(self,anchor="center",bg="blue") label5.grid(column=1,row=1,sticky='EW') label6 = Tkinter.Label(self,anchor="center",bg="yellow") label6.grid(column=2,row=1,sticky='EW') self.grid_columnconfigure(0,weight=0) if __name__ == "__main__": app = simpleapp_tk(None) app.title("Test App") app.mainloop()