我有一个使用<FocusOut>
绑定自动将编辑保存Entry
到列表中的应用程序。
使用导航条目或单击另一个条目时保存Entry
文本没有问题,但是如果我更改一个条目上的文本,然后如果我在另一个框架中单击鼠标,则无法在最后选择的条目,其中的信息未注册。TAB
ListBox
<FocusOut>
Save
如果不使用 GUI 上的按钮,如何避免这种情况?对于其中的每个选择,ListBox
都有不同Entry
的框,因此用户必须Save
多次按下按钮。我想避免这种情况。
我有一个使用<FocusOut>
绑定自动将编辑保存Entry
到列表中的应用程序。
使用导航条目或单击另一个条目时保存Entry
文本没有问题,但是如果我更改一个条目上的文本,然后如果我在另一个框架中单击鼠标,则无法在最后选择的条目,其中的信息未注册。TAB
ListBox
<FocusOut>
Save
如果不使用 GUI 上的按钮,如何避免这种情况?对于其中的每个选择,ListBox
都有不同Entry
的框,因此用户必须Save
多次按下按钮。我想避免这种情况。
看起来您想要实时获取更新的文本。在这种情况下,我所做的是使用'KeyRelease'
-binding。简单、有效的条目特定且立即生效。
在概念上:
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