Python 如何使用tag_bind将鼠标滚轮绑定到tkinter画布对象?

Python 如何使用tag_bind将鼠标滚轮绑定到tkinter画布对象?,python,canvas,tkinter,binding,Python,Canvas,Tkinter,Binding,例如,我想知道是否可以将鼠标滚轮事件绑定到画布矩形。 当我想对其他事件执行此操作时,我使用Canvas类中的tag_bind方法,但是该方法似乎不适用于mouseweel事件 将tkinter作为tk导入 类缩放矩形: 定义初始(自我、画布、p0、w、h): self.canvas=画布 self.p0=p0 self.w=w self.h=h id=canvas.创建一个矩形(p0[0],p0[1],p0[0]+w,p0[1]+h, fill=“浅蓝色”) canvas.tag_bind(id

例如,我想知道是否可以将鼠标滚轮事件绑定到画布矩形。 当我想对其他事件执行此操作时,我使用Canvas类中的tag_bind方法,但是该方法似乎不适用于mouseweel事件

将tkinter作为tk导入
类缩放矩形:
定义初始(自我、画布、p0、w、h):
self.canvas=画布
self.p0=p0
self.w=w
self.h=h
id=canvas.创建一个矩形(p0[0],p0[1],p0[0]+w,p0[1]+h,
fill=“浅蓝色”)
canvas.tag_bind(id,“,self.fun)
def乐趣(自我、活动):
打印(事件)
类Gui:
定义初始(自我,主):
w=500
h=500
canvas=tk.canvas(母版,宽=w,高=h)
canvas.pack()
缩放矩形(画布,(50,50),400,100)
缩放矩形(画布,(50200),400100)
root=tk.tk()
gui=gui(根)
root.mainloop()

我想找到一种方法来做同样的事情,但是使用鼠标滚轮事件而不是按钮释放事件。

将鼠标滚轮事件绑定到画布,检查鼠标是否在矩形范围内。如果在内部,则使用鼠标滚轮事件激发
fun()
。上述方法在您的情况下有效吗?您所说的有效,问题是创建我希望鼠标滚轮绑定到的矩形的类不是主类。该类将画布对象作为输入,然后将元素绘制到其中。因为类的许多实例可以放在同一个画布中,所以呈现的方法就不那么容易了。你知道我有什么办法可以满足我的要求吗?如果不是的话,我会按照你的建议去做。我已经编辑了这个问题,用虚拟事件来说明我在说什么:在
缩放矩形中添加
canvas.tag\u bind(id,,,self.fun)
。然后将
事件绑定到类
Gui
canvas.bind(“”,self.onmouseheel)
,并调用
event.widget.event\u生成(“”,x=event.x,y=event.y,time=event.delta)
(使用
time
传递
onmouseheel(self,event)中的鼠标滚轮
delta
值)
函数。@acw1668非常感谢,伙计,我不知道你能做到,这很有帮助