Tkinter 变量 trace 方法回调函数的参数是什么?
Tkinter 变量 **(var)** 是为特定部件 **(textvariable=var)** 定义的,用于存储部件更新后的值。有时,在更新变量信息时,可能需要处理一些额外的操作,例如读取、写入或未定义的操作。
Tkinter 提供了一种使用回调函数 trace **(self, mode, callback)** 更新变量的方法,该方法接受进程的操作,例如 **读取(r)**、**写入(w)** 或 **未定义(u)**。根据这些值,回调函数决定在回调函数中需要执行什么操作。其他两个值定义了需要跟踪的变量(包含部件信息)和变量的索引。
示例
在本例中,我们将跟踪 Entry 部件的值,该值在用户在其中输入值时会更新。
#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 ("{}".format(my_variable.get()))
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()输出
执行上述代码将显示一个 Entry 部件,该部件将输入存储在变量中。回调函数将跟踪变量的更新值,并在 Label 部件中显示它。
现在,在给定的 Entry 部件中输入一些内容。标签部件将模仿输入值并在窗口上显示输出。

在控制台上,您将看到以下内容:
H He Hel Hell Hello Hello Hello W Hello Wo Hello Wor Hello Worl Hello World
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP