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 True 11 else: 12 print('错误!') 13 print(content,reason,name) 14 return False 15 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()