出于某种原因,将查找 x 和 y 坐标的函数绑定(bind)到鼠标单击事件不起作用,当我左键单击时绝对没有任何反应,但如果我在实际代码中调用该函数,它运行正常。我尝试了该网站上发布的其他解决方案,但它们似乎没有帮助。 使用Python 3.4 这是我的确切代码:
#Import TKINTER toolset:
from tkinter import *
#Starting variables:
#Defining mouse x and y coordinates
global mouse_x
global mouse_y
mouse_x = 0
mouse_y = 0
#Main window:
window = Tk()
#Workspace and Canvas:
wrkspace = Frame(window, bg="red",width=640,height=480)
canvas = Canvas(wrkspace,bg="white",width=640,height=480)
#Keyframe editor: (DO LATER)
#Displays mouse x and y on workspace:
def find_mouse_xy():
mouse_x = wrkspace.winfo_pointerx()
mouse_y = wrkspace.winfo_pointery()
print ("x: " + str(mouse_x))
print ("y: " + str(mouse_y))
wrkspace.bind("<Button-1>",find_mouse_xy)
wrkspace.pack()
canvas.pack()
#Runs window:
window.mainloop()
最佳答案
您的Canvas
正在捕获鼠标事件,但您已将其绑定(bind)到您的Frame
。
尝试将其绑定(bind)到 Canvas 。
canvas.bind("<Button-1>",find_mouse_xy)
此外,您的 find_mouse_xy()
函数还需要一个参数,用于传递给它的事件。
def find_mouse_xy(event):
关于python - Tkinter 将功能绑定(bind)到鼠标左键不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35876235/