Tracing Tkinter variables
When you specify a Tkinter variable as textvariable
for a widget (textvariable = myvar)
, the widget automatically gets updated whenever the value of the variable changes. However, there might be times when, in addition to updating the widget, you need to do some extra processing at the time of reading or writing (or modifying) the variable.
Tkinter provides a method to attach a callback method that will be triggered every time the value of a variable is accessed. Thus, the callback acts as a variable observer. The callback method is named trace_variable(self, mode, callback)
, or simply trace(self, mode, callback)
.
The mode
argument can take a value of r
, w
, or u
, which stand for read, write, or undefined. Depending upon the mode specifications, the callback
method is triggered when the variable is read or written.
By default, the callback
method gets three arguments. The arguments, in order of their position, are as follows:
Name of the Tkinter variable
The index of...