What are the arguments to Tkinter variable trace method callbacks?

Tkinter variable trace method allows you to monitor changes to widget variables and execute callback functions when they occur. The callback function receives three specific arguments that provide context about the trace operation.

Trace Method Arguments

The callback function for trace_variable() receives three arguments ?

  • var − The internal name of the variable being traced
  • index − The index (for arrays) or empty string for scalar variables
  • mode − The operation mode: "r" (read), "w" (write), or "u" (undefined)

Example

Here's how to trace an Entry widget and access all callback arguments ?

# Import the required library
from tkinter import *

# Create an instance of Tkinter frame
win = Tk()
win.geometry("750x250")

# Create a variable to store the User Input
my_variable = StringVar()

def trace_when_Entry_widget_is_updated(var, index, mode):
    print("Variable name:", var)
    print("Index:", index)
    print("Mode:", mode)
    print("Current value:", my_variable.get())
    print("---")

my_variable.trace_variable("w", trace_when_Entry_widget_is_updated)

Label(win, textvariable=my_variable).pack(padx=5, pady=5)
Entry(win, textvariable=my_variable, width=20).pack(ipadx=20, padx=5, pady=5)

win.mainloop()

Understanding the Arguments

Argument Type Description
var String Internal Tkinter variable name (auto-generated)
index String Empty for scalar variables, index for arrays
mode String "r", "w", or "u" for read, write, or undefined operations

Output

When you type "Hello" in the Entry widget, the console output will show ?

Variable name: PY_VAR0
Index: 
Mode: w
Current value: H
---
Variable name: PY_VAR0
Index: 
Mode: w
Current value: He
---
Variable name: PY_VAR0
Index: 
Mode: w
Current value: Hel
---
Variable name: PY_VAR0
Index: 
Mode: w
Current value: Hell
---
Variable name: PY_VAR0
Index: 
Mode: w
Current value: Hello
---

Conclusion

Tkinter trace callbacks receive three arguments: the variable name, index, and operation mode. Use these arguments to implement conditional logic based on how the variable was accessed or modified.

Updated on: 2026-03-25T19:37:44+05:30

4K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements