变量追踪 trace() w模式
from tkinter import *
def callback(*args):
print("数据改变:",xE.get())
root=Tk()
root.title("变量追踪1")
xE=StringVar()
entry=Entry(root,textvariable=xE)
entry.pack(pady=5,padx=10)
xE.trace("w",callback)
root.mainloop()
变量追踪并显示在标签 w模式
from tkinter import *
def callback(*args):
xL.set(xE.get())
print("数据改变:",xE.get())
root=Tk()
root.title("变量追踪2")
xE=StringVar()
entry=Entry(root,textvariable=xE)
entry.pack(pady=5,padx=10)
xE.trace("w",callback)
xL=StringVar()
label=Label(root,textvariable=xL)
xL.set("同步显示")
label.pack(pady=5,padx=10)
root.mainloop()
变量读取追踪并显示在标签 r+w模式
from tkinter import *
def callbackW(*args):
xL.set(xE.get())
def callbackR(*args):
print("警告:数据被读取!")
def btn_click():
print("读取数据:",xE.get())
root=Tk()
root.title("变量追踪2")
xE=StringVar()
entry=Entry(root,textvariable=xE)
entry.pack(pady=5,padx=10)
xE.trace("w",callbackW)
xE.trace("r",callbackR)
xL=StringVar()
label=Label(root,textvariable=xL)
xL.set("同步显示")
label.pack(pady=5,padx=10)
btn_click=Button(root,text="读取",command=btn_click)
btn_click.pack(pady=5)
root.mainloop()
trace()方法调用的callback方法参数
from tkinter import *
def callback(name,index,mode):
xL.set(xE.get())
print("数据改变:",xE.get())
print("name=%r,index=%r,mode=%r" % (name,index,mode))
root=Tk()
root.title("变量追踪2")
xE=StringVar()
entry=Entry(root,textvariable=xE)
entry.pack(pady=5,padx=10)
xE.trace("w",callback)
xL=StringVar()
label=Label(root,textvariable=xL)
xL.set("同步显示")
label.pack(pady=5,padx=10)
root.mainloop()