Tkinter:列表框拖动选择

2024-10-02 08:14:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我对右按钮的选择方式有问题。我不擅长坐标,所以我不知道如何反向选择。我想按鼠标的方式滚动列表框选项,而不是像现在这样反向滚动。我只想它选择下一个项目在列表框当移动鼠标下/上。在

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()

Tags: def方式columnroot鼠标selectgridsb
1条回答
网友
1楼 · 发布于 2024-10-02 08:14:47

如果你翻转运动框中y轴上的符号,这将改变滚动方向。除以一个整数如果你需要慢一点,我喜欢3。在

def _b2motion(x, y):
    lb.scan_dragto(x, (-y/3)) #here
    _select(y)
    return 'break'

我不知道你剩下的问题是什么。。。你想复制左键和右键的作用吗?在

相关问题 更多 >

    热门问题