Функция в .bind('', function) Tkinter вызывается слишком рано [дубликат]Python

Программы на Python
Anonymous
Функция в .bind('', function) Tkinter вызывается слишком рано [дубликат]

Сообщение Anonymous »

Мне нужна запись, которая вызывает функцию (которая считывает то, что было помещено в эту запись) всякий раз, когда в нее помещается какой-либо символ ( мне достаточно).
Однако проблема, с которой я столкнулся, заключается в том, что, насколько я понимаю, эта функция вызывается слишком рано, поэтому запись. get() еще не видит, что было помещено в эту запись.
Вот пример кода:

Код: Выделить всё

from tkinter import *

def something_was_put(event):
print(entry.get())

root = Tk()
root.geometry('400x400')
entry = Entry(root)
entry.pack()
entry.bind('', something_was_put)

root.mainloop()
Так, например, если я поставлю «5», будет напечатана пустая строка. Если я затем поставлю «6» (теперь в записи есть «56»), он напечатает «5» и т. д.
Есть ли способ это исправить, чтобы он печатал весь текст в записи?

Подробнее здесь: https://stackoverflow.com/questions/787 ... -too-early

Вернуться в «Python»