繁体   English   中英

使用绑定功能时的 Tkinter 条目/文本小部件问题

[英]Tkinter Entry/Text widget problem when I use bind function

我是 Tkinter 的新手,我想在打字时打印 Entry 的内容。 这是我尝试过的代码:

from tkinter import *


def get_(e):
    print(entry.get())

root = Tk()
entry = Entry(root)
entry.pack()

entry.bind("<KeyPress>", get_)

mainloop()

但它似乎不是“同步”(当我输入“123”时,输出仅为“12”等)

以下代码工作正常,但我不知道为什么:

from tkinter import *


def get_(e):
    print(entry.get())

root = Tk()
entry = Entry(root)
entry.pack()

root.bind("<KeyPress>", get_)
## or this: entry.bind("<KeyRelease>", get_)
## or this: entry.bind_all("<KeyPress>", get_)

mainloop()

有什么我不知道的奇怪规则吗? 任何和所有帮助都会很棒,提前致谢!

问题entry.bind("<KeyPress>"似乎不是"同步" (当我在输出中键入"123"时只有"12"等等......),而root.bind("<KeyPress>"有效。

事件entry.bind("<KeyPress>", ...tk.Entry的值更新之前被触发。这解释了为什么输出总是落后一个字符。

事件root.bind("<KeyPress>", ...tk.Entry的值更新后被触发。这解释了为什么这是有效的。

替代品


参考

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM