validatecommand=(f,s1,s2,s3)
f就是冷却后的验证函数名,s1,s2,s3这些时额外的选项,这些选项会作为参数依次传给f函数。
register()冷却作用:register修饰符暗示编译程序相应的变量将被频繁地使用,如果可能的话
应该将其保存至cpu的寄存器中,以加快其存储速度。这个关键字请求编译器尽可能的将变量存在cpu
内部寄存器中而不是通过内存寻址访问以提高效率。
1 from tkinter import * 2 3 master = Tk() 4 v = StringVar() 5 6 def test(content,reason,name): 7 if content=='小甲鱼': 8 print('正确!') 9 print(content,reason,name)10 return True11 else:12 print('错误!')13 print(content,reason,name)14 return False15 16 testCMD=master.register(test)#register寄存的作用17 18 e1=Entry(master,textvariable=v,validate='focusout',\19 validatecommand=(testCMD,'%P','%v','%W'))20 e2=Entry(master)21 22 23 e1.pack(padx=10,pady=10)24 e2.pack(padx=10,pady=10)25 26 mainloop()