Python3 Tkinter基础 Entry root.register包装函数 validatecommand中有 %P %v %W 传入当前的输入框的值及validate

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python3 Tkinter基础 Entry root.register包装函数 validatecommand中有 %P %v %W 传入当前的输入框的值及validate相关的知识,希望对你有一定的参考价值。

 镇场诗:
    清心感悟智慧语,不着世间名与利。学水处下纳百川,舍尽贡高我慢意。
    学有小成返哺根,愿铸一良心博客。诚心于此写经验,愿见文者得启发。
——————————————————————————————————————————

code:

from tkinter import *
root = Tk()



def test(content,reason,name):
	if content == "舍名利":
		print(‘正确‘)
		print(content, reason,name)
		return True
	else:
		print(‘错误‘)
		print(content, reason,name)
		return False

v=StringVar()
testCMD=root.register(test)#需要将函数包装一下,必要的
e1=Entry(root,
		 textvariable=v,
		 validate=‘focusout‘,
		 validatecommand=(testCMD,‘%P‘,‘%v‘,‘%W‘)
		 #%P表示 当输入框的值允许改变,该值有效。该值为当前文本框内容
		 #%v(小写大写不一样的),当前validate的值
		 #%W表示该组件的名字
		)

e1.pack()


mainloop()

 


result:

 

技术分享

 

============ RESTART: C:\\Users\\Administrator\\Desktop\\code_IDLE.py ============

 




P2技术分享

 

============ RESTART: C:\\Users\\Administrator\\Desktop\\code_IDLE.py ============
错误
博客园 focusout .53911680

 




P3技术分享

 

============ RESTART: C:\\Users\\Administrator\\Desktop\\code_IDLE.py ============
错误
博客园 focusout .53911680
正确
舍名利 focusout .53911680

 




  关闭窗体

============ RESTART: C:\\Users\\Administrator\\Desktop\\code_IDLE.py ============
错误
博客园 focusout .53911680
正确
舍名利 focusout .53911680
>>> 

 


——————————————————————————————————————————
博文的精髓,在技术部分,更在镇场一诗。Python版本3.5,系统 Windows7。
Python是优秀的语言,值得努力学习。我是跟着小甲鱼视频教程学习的,推荐。
我是一个新手,所以如果博文的内容有可以改进的地方,甚至有错误的地方,请留下评论,我一定努力改正,争取成就一个良心博客。
注:此文仅作为科研学习,如果我无意中侵犯了您的权益,请务必及时告知,我会做出改正。





















以上是关于Python3 Tkinter基础 Entry root.register包装函数 validatecommand中有 %P %v %W 传入当前的输入框的值及validate的主要内容,如果未能解决你的问题,请参考以下文章

Python3 tkinter基础 Entry validatecommand 获取输入框的值

Python3 tkinter基础 Entry insert delete 点击按钮 向输入框赋值 或 清空

Python3 Tkinter基础 Entry 自动检查输入内容是否符合要求 validate validatecommand

Python3 tkinter基础 Entry get 点击按钮 将输入框中文字输出到控制台

Python3 Tkinter基础 Entry state='readonly' 不可写入的输入框,但是可以选中与拷贝

Python3 Tkinter基础 Entry root.register包装函数 validatecommand中有 %P %v %W 传入当前的输入框的值及validate