Python Tkinter canvas.xview单位
Tkinter画布滚动方法中的“单位”(单位)是如何定义的?它是以像素定义的吗?是否可以更改它(例如,对于较慢的滚动) 有关更好的上下文,请参阅代码Python Tkinter canvas.xview单位,python,scroll,tkinter,Python,Scroll,Tkinter,Tkinter画布滚动方法中的“单位”(单位)是如何定义的?它是以像素定义的吗?是否可以更改它(例如,对于较慢的滚动) 有关更好的上下文,请参阅代码 提前感谢。请查看-xview/-yview选项的文档,尤其是YSCROLINCREMENT选项。因此,可以更改步长 -YSCROLINcrement 以屏幕距离允许的任何常用形式指定垂直滚动的增量。如果此选项的值大于零,则窗口中的垂直视图将受到约束,以便窗口顶部边缘的画布y坐标始终是YSCROLINCREMENT的偶数倍;此外,用于滚动的单位(例如
提前感谢。请查看-xview/-yview选项的文档,尤其是YSCROLINCREMENT选项。因此,可以更改步长 -YSCROLINcrement 以屏幕距离允许的任何常用形式指定垂直滚动的增量。如果此选项的值大于零,则窗口中的垂直视图将受到约束,以便窗口顶部边缘的画布y坐标始终是YSCROLINCREMENT的偶数倍;此外,用于滚动的单位(例如,当选择滚动条的顶部和底部箭头时视图中的变化)也将为YSCROLINCREMENT。如果此选项的值小于或等于零,则垂直滚动不受限制 及 查看卷轴号什么 此命令根据数字和内容向上或向下调整窗口中的视图。数字必须是整数。必须是单位或页面的内容。如果是单位,则视图将以YSCROLINCREMENT选项的单位向上或向下调整(如果大于零),否则将以窗口高度的十分之一为单位向上或向下调整。如果是什么页面,则视图以十分之九的窗口高度为单位进行调整。若数字为负数,则更高的信息可见;如果为正,则下部信息可见
从的Tk手册页中,对于较慢的滚动,您可以使用画布的xscrollincrement和yscrollincrement选项:
from Tkinter import *
root = Tk()
c = Canvas(root, scrollregion=(0,0,500,500), height=200, width=200)
s = Scrollbar(root, command=c.yview)
c.pack(side=LEFT)
s.pack(side=RIGHT, fill=Y)
c.configure(yscrollcommand=s.set)
c.configure(yscrollincrement='2')
##yscrollincrement - increment for vertical scrolling, in pixels,
##millimeters '2m', centimeters '2c', or inches '2i'
c.create_rectangle(10,10,100,100)
c.create_rectangle(10,200,100,300)
def rollWheel(event):
direction = 0
if event.num == 5 or event.delta == -120:
direction = 1
if event.num == 4 or event.delta == 120:
direction = -1
event.widget.yview_scroll(direction, UNITS)
c.bind('<MouseWheel>', lambda event: rollWheel(event))
c.bind('<Button-4>', lambda event: rollWheel(event))
c.bind('<Button-5>', lambda event: rollWheel(event))
c.focus_set()
root.mainloop()
从Tkinter导入*
root=Tk()
c=画布(根,滚动区域=(0,0500500),高度=200,宽度=200)
s=滚动条(根,命令=c.yview)
c、 包装(侧面=左侧)
s、 包装(侧面=右侧,填充=Y)
c、 配置(yscrollcommand=s.set)
c、 配置(yscrolincrement='2')
##YSCROLINCREment-垂直滚动的增量,以像素为单位,
##毫米“2m”、厘米“2c”或英寸“2i”
c、 创建矩形(10,10100100)
c、 创建矩形(10200100300)
def滚轮(事件):
方向=0
如果event.num==5或event.delta==120:
方向=1
如果event.num==4或event.delta==120:
方向=-1
event.widget.yview\u滚动条(方向、单位)
c、 绑定(“”,lambda事件:滚轮(事件))
c、 绑定(“”,lambda事件:滚轮(事件))
c、 绑定(“”,lambda事件:滚轮(事件))
c、 焦点集()
root.mainloop()