python - Tkinter 将功能绑定(bind)到鼠标左键不起作用

标签 python tkinter python-3.4

出于某种原因,将查找 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/

相关文章:

python - 让 Python 代码更有效地减少脚本大小?

python - 使用python将数组中的数组保存到csv文件

python - 如何让 python 循环记住每个值?

python - 在运行时单击时如何更改按钮的颜色?

python - "TypeError: unhashable type: ' slice'"是什么意思?我该如何修复它?

python - 打印变量时 sys.stdout.write 和 print 的区别

python - 我正在处理文本文件,我需要这个 :

python - 什么会导致 Tkinter/Python 中打开的文件对话框窗口在用户选择文件后关闭得非常慢?

kivy - Clock.schedule_interval 不安排回调

python - 如何导入模块(如果之前导入过则重新加载)