Python Tkinter canvas.xview 单元 [英] Python Tkinter canvas.xview units
本文介绍了Python Tkinter canvas.xview 单元的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
Tkinter 画布滚动方法 xview(SCROLL, step, what)
和 yview(SCROLL, step,什么)
定义?它是以像素为单位定义的吗?是否可以更改它(例如,滚动速度较慢)?
How are the 'units' (what
) from the Tkinter canvas scrolling methods xview(SCROLL, step, what)
and yview(SCROLL, step, what)
defined? Is it defined in pixels? Is it possible to change it (for a slower scrolling for example)?
有关更好的上下文,请参阅此处的代码.
For a better context please see the code here.
提前致谢.
推荐答案
对于较慢的滚动,您可以使用 xscrollincrement &Canvas 的 yscrollincrement 选项:
for slower scrolling, you can play around with the xscrollincrement & yscrollincrement options of the Canvas:
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()
这篇关于Python Tkinter canvas.xview 单元的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文