如何确保 tkinter 条目的内容保存在 FocusOut 上?

How can I make sure the content of a tkinter entry is saved on FocusOut?

我有一个应用程序使用 <FocusOut> 绑定自动将 Entry 中的编辑保存到列表中。

使用 TAB 浏览条目或单击另一个条目时,保存 Entry 文本没有问题,但如果我更改一个条目上的文本,然后如果我鼠标单击另一个框架中的 ListBox<FocusOut> 对最后选择的条目不起作用,其中的信息未注册。

如何在不借助 GUI 上的 Save 按钮的情况下避免这种情况?对于 ListBox 中的每个选择,都有不同的 Entry 框,因此用户必须多次按下 Save 按钮。我想避免这种情况。

改为实时编辑/保存文本

您似乎想要实时获取更新的文本。在这种情况下,我所做的是使用 'KeyRelease' 绑定。简单、有效的条目特定且立即工作。

概念中:

win = Tk()
def dosomething(*args):
    # update the corresponding text anywhere, save your text, whatever
    print(entry.get())
    
entry = Entry()
entry.bind("<KeyRelease>", dosomething)
entry.pack()
    
win.mainloop()

进行中:

M
Mo
Mon
Monk
Monke
Monkey
Monkey 
Monkey e
Monkey ea
Monkey eat
Monkey eats
Monkey eats 
Monkey eats b
Monkey eats ban
Monkey eats ban
Monkey eats bana
Monkey eats banan
Monkey eats banana