当我将鼠标悬停在画布上时,我想在画布顶部显示一些标签,以显示x,y坐标,如果我保持光标不动,则保持不变,但移动时会改变。我该怎么做?
答案 0 :(得分:3)
您可以使用回调方法并将其绑定到Motion
event。
import tkinter
root = tkinter.Tk()
canvas = tkinter.Canvas(root)
canvas.pack()
def moved(event):
canvas.itemconfigure(tag, text="(%r, %r)" % (event.x, event.y))
canvas.bind("<Motion>", moved)
tag = canvas.create_text(10, 10, text="", anchor="nw")
root.mainloop()
答案 1 :(得分:2)
也使用<Enter>
事件。因此,当您在窗口(<Alt>+<Tab>
热键)之间切换时,光标将显示正确的坐标。
例如,您将光标放在画布上,<Motion>
事件将跟踪它,但当您按<Alt>+<Tab>
并切换到另一个窗口时,请稍微移动光标{{1}再次在你的画布上 - 你的光标坐标是错误的,因为<Alt>+<Tab>
事件不跟踪窗口之间的切换。要修复它,请使用<Motion>
事件。
<Enter>