【发布时间】:2015-09-10 21:21:36
【问题描述】:
当我试图输入一些东西时,它只是进入无效块,而不让我输入任何键。我明白,我可以通过使用其他选项 'focus' 、 'focusout' 等来摆脱它。但我希望它与 key 一起使用:
from tkinter import *
import re
def validate_email(P):
# master.errormsg.config(text='')
x = re.match(r"[^@]+@[^@]+\.[^@]+", P)
print(P)
errormsg.config(text='')
emailentry.focus_set()
return x != None
def invalid_email(P):
errormsg.config(text='Invalid Email Address')
emailentry.focus_set()
if __name__ == '__main__':
master = Tk()
errormsg = Label(master,text='', fg='red')
errormsg.pack()
L1 = Label(master, text='Enter Email Address')
L1.pack(side=LEFT)
vcmd = (master.register(validate_email), '%P')
invcmd = (master.register(invalid_email), '%P')
emailentry = Entry(master, validate="focusout", validatecommand=vcmd,
invalidcommand=invcmd)
emailentry.pack()
Button(master, text="Login").pack()
master.mainloop()
【问题讨论】:
-
哎呀!!使用 validate = key 更改代码....我指的是 'key'
标签: python validation tkinter