Cześć
Chciałbym ustawić pozycje scrolla w taki sposób, aby po załadowaniu elementów do ramki scroll był ustawiony na samym dole. Poniższy kod nie działa - co robię nie tak?
import tkinter
def get_frame_height(frame):
return frame.winfo_reqheight()
root = tkinter.Tk()
root.geometry("450x600")
# CANVAS
canvas = tkinter.Canvas(root, bg="#cccccc")
canvas.pack(side="left", fill="both")
# ADD A SCROLLBAR TO THE CANVAS
scroll = tkinter.Scrollbar(root, orient="vertical", command=canvas.yview)
scroll.pack(side="right", fill="y")
# CREATE ANOTHER FRAME INSIDE THE CANVAS
frame = tkinter.Frame(canvas, height=10)
# ADD THAT NEW FRAME TO A WINDOW IN THE CANVAS
canvas.create_window((0, 0), window=frame, anchor="nw")
for item in range(30):
tkinter.Button(frame, text=f"Button {item} dzida!").grid(row=item, column=0, pady=10, padx=10)
# CONFIGURE THE CANVAS
canvas.configure(yscrollcommand=scroll.set, scrollregion=canvas.bbox('all'))
scroll.bind("<Configure>", lambda e: canvas.configure(scrollregion=canvas.bbox("all")))
# Scroll to the bottom
root.update_idletasks()
canvas.yview_moveto('1.0')
root.mainloop()