How do I get mouse position relative to the parent widget in tkinter?

rectangletangle picture rectangletangle · Jul 20, 2010 · Viewed 8.4k times · Source

I need to get the mouse position relative to the tkinter window.

Answer

Bryan Oakley picture Bryan Oakley · Jul 20, 2010

Generally speaking you should never need to "get" this information because it is given to you as part of the event object that is passed in. You probably only need this information when responding to an event, and the event gives you this information.

Put more succinctly, to get the information you simply have to retrieve it from the event object.

Here's an example:

import Tkinter

class App:
    def __init__(self, root):
        f = Tkinter.Frame(width=100, height=100, background="bisque")
        f.pack(padx=100, pady=100)
        f.bind("<1>", self.OnMouseDown)

    def OnMouseDown(self, event):
        print "frame coordinates: %s/%s" % (event.x, event.y)
        print "root coordinates: %s/%s" % (event.x_root, event.y_root)

root=Tkinter.Tk()
app = App(root)
root.mainloop()