What am I doing wrong in this code? The callback doesn't work from the Entry widget.
##start code import Tkinter tk = Tkinter.Tk() var = Tkinter.StringVar() print var._name def cb(name, index, mode): print "callback called with name=%r, index=%r, mode=%r" % (name, index, mode) varValue = tk.getvar(name) print " and variable value = %r" % varValue var.trace('w', cb) var.set('test') entry = Tkinter.Entry(tk, textvariable=var) entry.pack() tk.mainloop() ##end code It produces the following output. The first three lines appear right away, and the exception occurs when you type in the entry widget: >test.py PY_VAR0 callback called with name='PY_VAR0', index='', mode='w' and variable value = 'test' callback called with name='PY_VAR0', index='', mode='w' Exception in Tkinter callback Traceback (most recent call last): File "C:\Python25\lib\lib-tk\Tkinter.py", line 1403, in __call__ return self.func(*args) File "D:\APCC\Projects\Utilities\VisualData\test.py", line 9, in cb varValue = tk.getvar(name) File "C:\Python25\lib\lib-tk\Tkinter.py", line 421, in getvar return self.tk.getvar(name) TclError: can't read "PY_VAR0": no such variable > -------------------------------------- Protect yourself from spam, use http://sneakemail.com -- http://mail.python.org/mailman/listinfo/python-list