top = tk.Tk()
top.rowconfigure(0, weight=1)
for col in range(5):
    top.columnconfigure(col, weight=1)
tk.Label(top, text=str(col)).grid(row=0, column=col, sticky='nsew')
top.rowconfigure(1, weight=1)
tk.Button(top, text='button').grid(row=1, column=0, columnspan=10, sticky=
    'nsew')
top.mainloop()
Сетка Tk не будет правильно изменять размер