Francesco Bochicchio wrote: > One thing I don't understand, is why you need to 'poll' continuously > for changes, except for demo purpose.
You can give the user immediate feedback on changes he makes. I'd argue that e. g. an "auto-apply" dialog with a revert button is much more usable and am surprised that this style hasn't caught on. > If this is supposed to be a window for user to enter data into the > program, the standard practice is to have a > separate window (not the main one), with apply and cancel buttons, > where both buttons close the window but only > the apply button register the change. So you need to do the stuff you > do in the poll_exams function only in the > callback of the apply button. If you want live updates you can also use StringVar.trace() instead of polling: from functools import partial def grade_changed(name, index, var, *args): new_grade = to_int(var.get()) if new_grade != exam_grades[index]: exam_grades[index] = new_grade print name, "-->", new_grade pairs = zip(names, exam_grades_string) for index, (name, var) in enumerate(pairs): var.trace("w", partial(grade_changed, name, index, var)) See also http://effbot.org/tkinterbook/variable.htm Peter -- http://mail.python.org/mailman/listinfo/python-list