tkinter的MouseWheel事件只能绑定到根窗口,因此事件位置也相对于根位置。 在画布缩放操作中,我想获得带有画布内光标位置信息的MouseWheel事件。为了计算这个,我以为我只需减去画布在根窗口中的位置。问题是,我无法找到窗口中画布的位置。
我尝试过: can.grid_bbox --> (0,0,0,0) ? can.grid_info can.grid_location cget("offset") pointerx
还有其他一些我记不清了。不知怎么地,我总是忽视它,有人能给我一个提示吗?
---编辑--- 要获取与画布相关的mouseWheel事件位置,似乎可以采用这种方法:
def on_mouse_wheel(self, event):
xCan = event.x_root - self.can.winfo_rootx()
yCan = event.y_root - self.can.winfo_rooty()