赞
踩
在tkinter with Python3.7中,事件绑定的默认行为是在释放鼠标之前单击鼠标后不会触发“<;Enter>;”事件。我打算实现一个可滚动表,这样它就可以检测到“<;Button-1>;”(鼠标左键单击向下)和“<;ButtonRelease-1>;”(鼠标左键单击向上)”事件,并将每个表行的小部件“<;Enter>;”事件绑定起来,以检测鼠标指针何时进入不同的表行。通过这种方式,我可以通过单击一行并在表中拖动来滚动表。我的假设是,即使按住鼠标键也会触发“<;Enter>;”事件,这是不正确的。所以,我的整个滚动实现遇到了麻烦。我需要在鼠标按下时触发这些事件,否则它就不起作用了。我在做类似的事情:from tkinter import *
class App:
def __init__(self):
self.root = Tk()
# The name kwarg is used to infer the index of the row in the event handlers.
self.labels = [Label(text=f"Label #{i}", name=f"row-{i}") for i in range(5)]
for row, label in enumerate(self.labels):
label.bind("", self.mouse_down)
label.bind("", self.mouse_up)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。