I plan to write a program that allows the user to move shapes around on the canvas once they are drawn. A given shape will be drawn when an appropriate button is pressed. I'm using simple test programs to learn my way around. I've looked at a number of examples and I think the test code below should print the mouse coordinates when the shape is clicked. But it seems on_click() is never called. What am I doing wrong?
I'm using pythhon 2.7.6 on OSX 10.6.8
Thanks for your help.
import Tkinter as tk
def on_click(e):
print e.x, e.y
def createShape(e):
txt = e.widget.cget('text')
cnvs.create_rectangle(10,10,75,60, tags="click")
cnvs.tag_bind("click", '<ButtonPress-1>', on_click)
cnvs.create_text(45, 40, text = txt)
root = tk.Tk()
root.wm_resizable(0,0)
frame = tk.Frame(root, background="blue")
frame.pack()
cnvsHt = 800
cnvsWidth = 1000
cnvs = tk.Canvas(frame, width=cnvsWidth, height=cnvsHt, background = "#faf0e6")
cnvs.pack()
btnABC = tk.Button(frame, text="ABC", bg="blue", highlightbackground="blue", fg="white")
btnABC.pack()
btnABC.bind("<Button-1>", createShape)
root.mainloop()