Sam*_*Sam 3 python drag-and-drop tkinter
我有一个ttk Treeview(在Tk中的一个Frame中)和一个tk Listbox(在Toplevel中).我的意图是做以下事情:
现在,当未按下的鼠标进入时,我可以设置Toplevel的焦点.我用过.bind("<Enter>").
当我使用时,.bind("<B1-Motion>")我可以检测到按下鼠标的动作.但只有我在列表中按下鼠标.
当我使用时,.bind("<B1-Enter>")我没有得到任何事件.
如何检测其他按下的鼠标是否进入我的列表框?
您需要设置绑定<B1-Motion>.然后,在回调中,您可以使用该winfo_containing方法来确定光标下的哪个小部件.您可以使用event.x_root和event.y_root作为参数winfo_containing来查找小部件:
self.bind_all("<B1-Motion>", self.on_motion)
...
def on_motion(self, event):
widget = self.winfo_containing(event.x_root, event.y_root)
...
Run Code Online (Sandbox Code Playgroud)