Tkinter размещение кнопок сеткой через цикл

Знакомлюсь с Python. Не могу разобраться как с помощью цикла разместить кнопки сеткой, чтоб кнопки не дублировались. Блок кода с созданием и размещением кнопок

for i in range(0, len(button_list)):
    for j in range(0, 3): 
       b = tk.Button(frame_button, text=button_list.[i].get_name(), width="20", font=('Arial', 12), 
                        command=lambda i=i: self.add_button_list_clicked(button_list[i].get_position()))
       b.grid(row=i, column=j)

Полный блок кода:

frame_main = tk.Frame(self.main_window)
frame_main.place(x=550, y=30)

canvas = tk.Canvas(frame_main, width=590, height=465)
canvas.grid(row=0, column=0)

vsb = tk.Scrollbar(frame_main, orient="vertical", command=canvas.yview)
vsb.grid(row=0, column=1, sticky='ns')
canvas.configure(yscrollcommand=vsb.set)

frame_button = tk.Frame(canvas)
canvas.create_window((1, 0), window=frame_button, anchor='nw')

   
for i in range(0, len(self.__position_list.get_position_list())):
    for j in range(0, 3):
        b = tk.Button(frame_button, text=self.__position_list.get_position_list()[i].get_name(), width="20", font=('Arial', 12), command=lambda i=i: self.add_button_list_clicked(self.__position_list.get_position_list()[i].get_position()))
        b.grid(row=i, column=j)

Ответы (0 шт):