小白学tkinter(entry的验证函数)
来源:互联网 发布:密码破解软件 编辑:程序博客网 时间:2024/06/05 14:32
这篇博客接着讲entry的验证函数,不过主要是使用的Tkinter的隐藏功能,也就是关于验证函数的一些额外的选项。
如下图所示:
‘这些选项都是带引号的’
为了使用这些选项,我们可以这样修改我们的validatecommand选项:
validatecommand=(f,s1,s2,……)
其中,f是验证函数名,s1,s2等是额外的选项,这些选项会作为参数一次传给f函数,再次之前需要将register()方法将验证函数包装起来。
from tkinter import * root = Tk() v = StringVar() def test(f,s1,s2): if f == '小甲鱼': print('正确') print(f,s1,s2) return True else: print('错误') print(f,s1,s2) return Falsetest_register = root.register(test) #root调用register方法才能用到下边的validatecommand选项中e1 = Entry(root,textvariable = v,validate = 'focusout',\ validatecommand = (test_register,'%P','%i','%s')) #这些额外的参数带引号啊 ,要注意e2 = Entry(root)e1.pack()e2.pack()mainloop()'''用验证函数模拟简单计算器'''from tkinter import *root = Tk()frame = Frame(root) #把整个布局放到框架中,更好调节frame.pack(padx = 10,pady = 10)v1 = StringVar()v2 = StringVar()v3 = StringVar()def test(content): if content.isdigit():#isdigit()方法,这是str的一个函数,只允许输入数字 return True else: return FalsetestCmd = root.register(test)#通过register方法转换为validatecommand选项能接收的函数Entry(frame,textvariable = v1,width = 10,validate = 'key',\ validatecommand = (testCmd,'%P')).grid(row = 0,column = 0) #用%P获取最新输入的字符串,而不用v1.get()小甲鱼说了很多,没看明白,这就不写了,呵呵Label(frame,text = '+').grid(row = 0,column = 1)Entry(frame,textvariable = v2,width = 10,validate = 'key',\ validatecommand = (testCmd,'%P')).grid(row = 0,column = 2)Label(frame,text = '=').grid(row = 0,column = 3)Entry(frame,textvariable = v3,width = 10,state = 'readonly',validate = 'key',\ validatecommand = (testCmd,'%P')).grid(row = 0,column = 4)def calc(): result = int(v1.get()) + int(v2.get()) v3.set(result)Button(frame,text = '计算结果',command = calc).grid(row = 1,column = 2,pady =5)mainloop()
阅读全文
0 0
- 小白学tkinter(entry的验证函数)
- Python-Tkinter的Entry详解
- Tkinter().Entry()的编码问题
- 小白学tkinter(Entry组件)
- Tkinter:Entry
- tkinter Entry
- Tkinter中entry的使用示例
- tkinter entry组件
- Tkinter之Entry篇
- Python Tkinter Entry和Text的添加与使用
- python3中,Tkinter中关于Entry的登录案例
- Tkinter教程之Entry篇
- Tkinter教程之Entry篇
- tkinter之entry和text
- [Tkinter 教程07] Entry 控件
- Tkinter如何获取Entry里输入的内容再进行处理
- Tkinter Entry only allows digit number
- Tkinter entry limit the length of input.
- 随机森林算法(RandomForest,RF)
- Spark---Datasource(JSON)---java
- 5. AsyncTask
- GBDT的小结(来自论文greedy function approximation: a gradient boosting machine)
- 功夫小子实践开发-Menu家族学习及开始菜单场景的实现
- 小白学tkinter(entry的验证函数)
- 数据结构之链表
- Fragment里ScrollView嵌套RecyclerView显示不全的问题
- 基于H5+ HBuilder开发app android离线打包步骤 记录比较关键点
- [离散数学]偏序与全序的区别、解释
- 排序算法总结之归并排序
- STM32F10XXX的复位
- Arduino PID-Auto Tune库函数指南
- pat 乙级1033 旧键盘打字(20)