下面是在画布上绘制轴的函数
在这里,我无法理解语句canvas1.configure(scrollregion=(-x_origin, -y_origin, x_origin, y_origin))
scrollregion是如何工作的
def draw_axes(canvas1):
canvas1.update()
x_origin = canvas1.winfo_width() / 2
y_origin = canvas1.winfo_height() / 2
canvas1.configure(scrollregion=(-x_origin, -y_origin, x_origin, y_origin))
canvas1.create_line(-x_origin, 0, x_origin, 0, fill='black')
canvas1.create_line(0, -y_origin, 0, y_origin, fill='black')
根据我的说法,它应该是+x_原点而不是-x_原点,因为它在+ve x方向上移动 但是当我尝试我的逻辑时,我无法得到我想要的输出
scrollregion
与原点无关。它所做的只是影响可以滚动到视图中的虚拟画布区域。当然,您可以滚动画布,使0,0显示在中心或右下角或其他任何位置,但x坐标仍将向右移动,y坐标仍将向下移动,而不是向上移动设置
scrollregion
也不会导致任何东西滚动。要进行滚动,必须调用xview
和/或yview
方法在可滚动区域内滚动scrollregion
的前两个坐标必须定义可滚动区域的左上角,后两个坐标表示右下角的坐标。如果将其反转,则该行为有些未定义这是
scrollregion
的官方文件:下面是一个如何使0,0显示在画布中心的示例:
相关问题 更多 >
编程相关推荐