scrollregion
не имеет ничего общего с источником. Все, что он делает, это влияет на область виртуального холста, которую можно прокрутить в поле зрения. Конечно, вы можете прокрутить холст, чтобы 0,0 отображался в центре или внизу справа или в любом другом месте, но координаты x по-прежнему будут go вправо, а координаты y по-прежнему будут go вниз, а не вверх.
Установка scrollregion
также не вызывает прокрутки. Чтобы прокрутка произошла, вы должны вызвать методы xview
и / или yview
для прокрутки в области прокрутки.
Первые две координаты scrollregion
должны определять левый верхний угол области прокрутки, а вторые две координаты представляют правые нижние координаты. Если вы измените их, поведение будет несколько неопределенным.
Это официальная документация для scrollregion
:
Указывает список с четырьмя координатами, описывающими слева, сверху, справа, и нижние координаты прямоугольной области angular. Этот регион используется для прокрутки и считается границей информации на холсте.
Вот пример того, как заставить 0,0 появляться в центре холста:
import tkinter as tk
root = tk.Tk()
canvas = tk.Canvas(root, width=400, height=400, background="black")
canvas.pack(fill="both", expand=True)
canvas.create_oval(-5,-5,5,5, fill="red")
canvas.configure(scrollregion=(-200,-200, 200, 200))
canvas.xview_moveto(.5)
canvas.yview_moveto(.5)
root.mainloop()