tkinter之输入框(Entry)
Entry是Tkinter用来接收字符串等输入的控件
将作品和作者分别改成账号和密码,修改代码如下:
运行代码会生成一个窗口,输入账号和密码,如下图:
点击芝麻开门打印如下图:
Entry组件是支持验证输入内容的合法性的,比如要求输入数字输入非数字就是非法,实现该功能就要设置validate、validatecommand和invalidcommand选项
首先启用验证的开关是validate选项,该选项可以设置的值有:
其次是为validatecommand选项指定一个验证函数,该函数只能返回True或False表示验证的结果,一般情况下验证函数只需要知道输入框的内容即可,可以通过Entry组件的get()方法获得该字符串
然后invalidcommand选项指定的函数只有在validatecommand的返回值为False的时候才被调用
在第一个输入框输入错误的内容,鼠标失去焦点(鼠标放在第二个输入框),打印错误和我被调用了,并清空第一个输入框的内容,在第一个输入框输入正确的内容,打印正确,内容被保留,如下图:
生成计算器的代码(实现加法+)
textvariable=v存放计算好的值,函数返回True会在输入框里保留输入的内容,返回False会在输入框里清除输入的内容,因为一共是5列,button按钮放在第2列,中间位置,运行代码会生成一个窗口,如下图:
可以看到第三个输入框是不可编辑的,在第一个和第二个输入框里只能输入数字,点击计算结果按钮就能看到最终的结果,如下图: