我试图将鼠标滚轮绑定到在其上显示有标签和按钮的框架小部件,而我的问题是,只有当我将鼠标光标放在框架小部件的空白区域时,它才能起作用。如果将鼠标移到以该框架为父级的按钮或标签之一上,该程序将不再绑定鼠标滚轮。我怎样才能解决这个问题?我正在使用此表达式:
frame.bind("<MouseWheel>", mouse_wheel)
另外,我将鼠标绑定到root(root.bind(“”,mouse_wheel)),即使我的鼠标位于tkinter窗口上的任何位置(即使它位于按钮和标签)。我不想绑定到根目录,因为我只想绑定框架小部件的区域。
问题是您没有将<MouseWheel>
事件绑定到整个窗口,因此,当您滚动到框架以外的其他位置时,不会触发回调函数。只需在窗口中使用“ bind_all”即可:
import tkinter
win = tkinter.Tk()
win.bind_all("<MouseWheel>",mouse_wheel)