Python <key>-Event entry.get() 上的 Tkinter 落后
Python Tkinter on <key>-Event entry.get() is lagging behind
我对事件处理有疑问。我的代码如下:
import tkinter
def my_function(event):
print("Event Char: " + event.char)
print("Input Field: " + my_input.get())
window = tkinter.Tk()
my_input = tkinter.Entry()
my_input.bind("<Key>", my_function)
my_input.grid(row=0, column=1)
window.mainloop()
如果我运行我的程序,依次输入字母a、b、c,那么我的打印结果如下:
我不明白为什么my_input
落后了。这是一个错误吗?我该如何解决这个问题?
提前致谢
这不是错误:在输入字段中插入新字符之前触发事件,这就是输入内容“滞后”的原因。
要解决此问题,请改为绑定到 <KeyRelease>
,该字符在输入字段中插入后触发。
我对事件处理有疑问。我的代码如下:
import tkinter
def my_function(event):
print("Event Char: " + event.char)
print("Input Field: " + my_input.get())
window = tkinter.Tk()
my_input = tkinter.Entry()
my_input.bind("<Key>", my_function)
my_input.grid(row=0, column=1)
window.mainloop()
如果我运行我的程序,依次输入字母a、b、c,那么我的打印结果如下:
我不明白为什么my_input
落后了。这是一个错误吗?我该如何解决这个问题?
提前致谢
这不是错误:在输入字段中插入新字符之前触发事件,这就是输入内容“滞后”的原因。
要解决此问题,请改为绑定到 <KeyRelease>
,该字符在输入字段中插入后触发。