Как создать сетку кнопок с автоматическим изменением размера в tkinter?

Я пытаюсь создать сетку кнопок (для достижения эффекта интерактивных ячеек) с помощью Tkinter.

Моя основная проблема в том, что я не могу настроить сетку и кнопки автоматически, чтобы они соответствовали родительскому окну.

Например, когда у меня много кнопок в сетке, вместо того, чтобы сжимать кнопки, чтобы сетка поместилась внутри окна, я получаю растянутую рамку, которая уходит за пределы экрана.

Эффект, который я ищу, - это сетка, заполняющая все доступное пространство, а затем изменение размеров ее ячеек, чтобы они соответствовали этому пространству. Я прочитал документацию, но до сих пор не могу понять, как заставить ее работать.

Это основной код, который является моей отправной точкой:

def __init__(self):
    root = Tk()
    frame = Frame(root)
    frame.grid()

    #some widgets get added in the first 6 rows of the frame's grid          

    #initialize grid
    grid = Frame(frame)  
    grid.grid(sticky=N+S+E+W, column=0, row=7, columnspan=2)

    #example values
    for x in range(60):
        for y in range(30):
            btn = Button(grid)
            btn.grid(column=x, row=y)

    root.mainloop()
40
задан nbro 14 March 2015 в 21:33
поделиться