0
我遇到问题的方式,右键获取其选择。我不擅长坐标,所以我不知道如何扭转我选择的方式。我想滚动列表框选择鼠标的方式,而不是像现在这样。我只是喜欢它在向下/向上移动鼠标时选择列表框中的下一个项目。Python Tkinter:列表框拖动选择
from Tkinter import *
def _select(y):
row = lb.nearest(y)
lb.selection_clear(0, END)
lb.selection_set(row)
def _b2motion(x, y):
lb.scan_dragto(x, y)
_select(y)
return 'break'
root = Tk()
sb = Scrollbar(root)
lb =Listbox(root, width=20,yscrollcommand=sb.set)
lb.bind('<B3-Motion>', lambda e: _b2motion(e.x, e.y))
sb.config(command=lb.yview)
lb.grid(row=0,column=0)
sb.grid(row=0,column=1,sticky=N+S)
for x in range(50):
lb.insert(END, x)
mainloop()
我真的很喜欢我如何减慢滚动速度,但我的问题是当你点击程序的底部右键点击的大跳跃 – Crispy 2012-07-23 20:07:32
@Crispy看起来这是不可避免的使用'scan_dragto'。尝试'lb.yview_scroll((y/100),'units')',而不是滚动窗口。再次,100是一个缩放 – Squid1361 2012-07-24 16:56:19
哈哈终于,这是完美的。非常感谢 – Crispy 2012-07-24 19:04:58