Tkinter 变量跟踪方法回调的参数是什么?

pythontkinterserver side programmingprogramming

Tkinter 变量 (var) 是为特定窗口小部件 (textvariable=var) 定义的,用于存储窗口小部件的更新值。有时,在更新变量信息时,可能需要处理一些额外的操作,例如读取、写入或未定义。

Tkinter 提供了一种使用回调函数 trace (self, mode, callback) 更新变量的方法,该函数接受进程的操作,例如 read(r)、write(w)undefined(u)。根据这些值,回调决定进程需要在回调函数中执行什么操作。另外两个值定义需要跟踪的变量(包含小部件信息)和变量的索引。

示例

在此示例中,我们将跟踪 Entry 小部件的值,该值在用户输入值时会更新。

#导入所需的库
from tkinter import*
#创建 Tkinter 框架的实例
win = Tk()
win.geometry("750​​x250")
#创建一个变量来存储用户输入
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

相关文章