Tkinter: set StringVar após o evento <Key>, incluindo a tecla pressionada

Toda vez que um personagem é inserido em umText widget, eu quero pegar o conteúdo desse widget e subtrair seu tamanho de um certo número (basicamente um "você tem x caracteres restantes").

Mas oStringVar() é sempre um evento por trás. Isto é, pelo que eu entendo, porque o evento é processado antes do caractere ser inserido no widget Text. Isso significa que se eu tiver 3 caracteres no campo e eu inserir um 4º, oStringVar é atualizado, mas ainda tem 3 caracteres, depois é atualizado para 4 quando eu insiro um 5º caractere.

Existe uma maneira de manter os dois na linha?

Aqui está algum código. Eu removi partes irrelevantes.

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))

questionAnswers(2)

yourAnswerToTheQuestion