Tkinter: установить StringVar после события <Key>, включая нажатую клавишу

Каждый раз, когда персонаж вводится вText widget, я хочу получить содержимое этого виджета и вычесть его длину из определенного числа (в основном сделка «у вас есть x символов»).

НоStringVar() всегда одно событие позади. Это то, что я понял, потому что событие обрабатывается до того, как символ вводится в виджет Текст. Это означает, что если у меня есть 3 символа в поле, и я ввожу 4-й,StringVar обновляется, но все еще имеет длину 3 символа, затем он обновляется до 4 при вводе 5-го символа

Есть ли способ сохранить эти два в линии?

Вот код Я удалил не относящиеся к делу части.

def __init__(self, master):
    self.char_count = StringVar()
    self.char_count.set("140 chars left")

    self.post_tweet = Text(self.master)
    self.post_tweet.bind("<Key>", self.count)
    self.post_tweet.grid(...)

    self.char_count = Label(self.master, textvariable=self.foo)
    self.char_count.grid(...)

def count(self):
    self.x = len(self.post_tweet.get(1.0, END))
    self.char_count.set(str(140 - self.x))

Ответы на вопрос(2)

Ваш ответ на вопрос