これは私のコードです:
root = Tk()
def mytest():
var = entry.get()
print(var)
return True
entry = Entry(root, validate="key", validatecommand=mytest)
entry.pack()
root.mainloop()
ユーザーが入力する各文字を検証しようとしていました。
問題は、get()
メソッドを使用して現在の文字を取得すると、以前の入力までの文字が取得されることです。
たとえば、単語を入力しているとします。"abc"
- 最初に入力
"a"
したときは、何も出力されません。 - 追加する
"b"
と、印刷されます"a"
- 入力を続けると
"c"
、印刷されます"ab"
なぜこの奇妙な振る舞いをするのですか?