绑定鼠标滚轮Tkinter

问题描述 投票:0回答:1

我试图将鼠标滚轮绑定到在其上显示有标签和按钮的框架小部件,而我的问题是,只有当我将鼠标光标放在框架小部件的空白区域时,它才能起作用。如果将鼠标移到以该框架为父级的按钮或标签之一上,该程序将不再绑定鼠标滚轮。我怎样才能解决这个问题?我正在使用此表达式:

frame.bind("<MouseWheel>", mouse_wheel) 

另外,我将鼠标绑定到root(root.bind(“”,mouse_wheel)),即使我的鼠标位于tkinter窗口上的任何位置(即使它位于按钮和标签)。我不想绑定到根目录,因为我只想绑定框架小部件的区域。

python tkinter bind mousewheel
1个回答
0
投票

问题是您没有将<MouseWheel>事件绑定到整个窗口,因此,当您滚动到框架以外的其他位置时,不会触发回调函数。只需在窗口中使用“ bind_all”即可:

import tkinter
win = tkinter.Tk()    
win.bind_all("<MouseWheel>",mouse_wheel)
© www.soinside.com 2019 - 2024. All rights reserved.