Интерактивная проверка содержимого виджета Entry в tkinter
, ссылка выше объясняет, как выполнить проверку.
Я пытаюсь сделать то же самое.Но почему-то я не могу это сделать.
Это строка из 10 цифр.Первые два являются алфавитами, следующие два числа, затем снова следующие два будут алфавитами, а затем все остальные числа.например, MH02UH2012.
Другой вопрос, который у меня возникает, - когда я запускаю эту печать S, а я получаю первые три входа только после того, как нет печати.и иногда он печатает только первую введенную переменную.Я не могу понять, в чем проблема
import tkinter
tk=tkinter.Tk()
def only_numeric_input(P,S,i):
i = int(i)
print (i, S)
if S == " ":
return False
elif i < 2:
if not S.isdigit():
return True
elif i > 5:
if S.isdigit():
return True
else:
return False
elif i > 9:
return False
e1=tkinter.Entry(tk)
e1.grid(row=0,column=0)
c=tk.register(only_numeric_input)
e1.configure(validate="key",validatecommand=(c,'%P', "%S", "%i"))
tk.mainloop()