Создаю окно, в нем canvas, в котором динамически создаются frame, которые содержат в себе виджеты, таких виджетов может быть огромное множество, и не могу справиться с прокруткой, как подключить scrollbar чтобы это работало?
выглядит окно таким образом
код создания такой:
class MyTableRow(Frame):
def __init__(self, master, *args, **kwargs):
super().__init__(master, *args, **kwargs)
self.widgets = []
self.frames=[]
for i in range(3):
widget = Entry(self)
widget.pack(side="left")
self.widgets.append(widget)
self.update_btn = Button(self, text="Добавить", command=self.update_clicked)
self.update_btn.pack(side="right")
self.delete_btn = Button(self, text="Удалить", command=self.delete_clicked)
self.delete_btn.pack(side="right")
def update_clicked(self):
print(self.widgets[0].get())
def delete_clicked(self):
print("whatever")
def dinamic_form():
global widgets
global frames
doth=tix.Tk()
doth.title("Результат поиска")
doth.geometry("300x400+250+50")
doth.attributes('-toolwindow', True)
canvas=Canvas(doth, borderwidth=0, background="#ffffff")
canvas.pack(side="top")
scroll_doth = Scrollbar(canvas, orient=VERTICAL)
scroll_doth.pack(side="right")
frames = []
widgets = []
for i in range(10):
frame = MyTableRow(canvas, borderwidth=2, relief="groove")
frames.append(frame)
frame.pack(side="top", fill="x")