Для справки вот рабочая версия вашего кода. Обратите внимание, как я передал root в качестве аргумента master. Также обратите внимание на то, как я использовал метод .mainloop () для пользователя root.
Tkinter работает в цикле, если вы не вызовете метод .mainloop () , ваша программа не будет работать должным образом.
Это должно работать:
from Tkinter import *
class MyWidgets :
def __init__ (self, master) :
self.mousepos = 0,0
self.clickpos = 0,0
self.poslabel = Label(master, text = "Mouse Click: " \
+ str(self.clickpos) + "Cursor Point: "\
+ str(self.mousepos))
self.poslabel.pack()
self.fcanvas = Canvas(master, width=800,height=400, bg = 'grey90',\
borderwidth = 5, relief = RAISED)
self.fcanvas.bind("<Button-1>", self.pressButton1)
self.fcanvas.pack()
def pressButton1 (self, event) :
print 'You pressed button 1!'
if __name__ == '__main__' :
root = Tk()
MyWidgets(root)
root.mainloop()