gpt4 book ai didi

python - 当我使用绑定(bind)函数时,Tkinter Entry/Text 小部件问题

转载 作者:太空宇宙 更新时间:2023-11-03 19:56:38 24 4
gpt4 key购买 nike

我是 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()

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

最佳答案

Question: entry.bind("<KeyPress>" seems not "synchronous" (when I type "123" in output only is "12" and so on ...), while root.bind("<KeyPress>" works.

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

事件root.bind("<KeyPress>", ...tk.Entry 中的值之后被解雇已更新。这解释了为什么它有效。

替代方案:

<小时/>

引用:

关于python - 当我使用绑定(bind)函数时,Tkinter Entry/Text 小部件问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59497222/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com