title: How do I make Tkinter entry focusout validation happen more than just the first time?
body: <p>I have an application that, for a part of it, will take a user's input and format it into a standardized time format. To do this, i have a <code>time</code> input that has a <code>focusout</code> event tied to it that calls the time parser/replacer method. However, while testing it and just setting a message label to output some stuff, i noticed that it only triggers once...</p>
  
  <p>Below is some sample code to show the problem.</p>
  
  <pre><code>from Tkinter import *
  
  root=Tk()
  
  message_var = StringVar()
  message = Label(root, textvariable=message_var, height=2, width=35, bg="light grey")
  time_var = StringVar()
  time = Entry(root, textvariable=time_var, validate="focusout", validatecommand=time_update)
  lose_focus_var = StringVar()
  lose_focus_textbox = Entry(root, textvariable=lose_focus_var)
  
  message_var.set("Enter a time below.")
  lose_focus_var.set("Click here to lose focus.")
  
  def time_update():
      """
      Updates the time field to show standardized times.
      """
      cur_entry = time_var.get()
      if len(cur_entry) == 0:
          message_var.set("0!")
      elif len(cur_entry) == 1:
          message_var.set("1!")
      elif len(cur_entry) == 2:
         message_var.set("2!")
      elif len(cur_entry) == 3:
         message_var.set("3!")
      elif len(cur_entry) == 4:
         message_var.set("4!")
      elif len(cur_entry) == 5:
         message_var.set("5!")
      else:
         message_var.set("TOO MANY!")
         time_var.set("")
  
  message.pack()
  time.pack()
  lose_focus_textbox.pack()
  </code></pre>
  
  <p>To reproduce my issue, run the code above. In the window that appears, click into the blank textbox, enter any number of characters, then click into the textbox that says "Click here to lose focus." You'll see that the message widget updates correctly! Yay!</p>
  
  <p>However, if you click into the first textbox again, change the number of characters, then click the Lose Focus box again, the message will not update again. You will need to kill the window and re-run the code for the messages widget to update again.</p>
  
  <p>If i add the <code>time_update</code> call to the other textbox (and refactor <code>time_update</code> to figure out which textbox called it), the message update will happen once for each text box. But only once. </p>
  
  <p>Is there a way for me to re-trigger the <code>&lt;FocusOut&gt;</code> event, other than destroying the Entry widget and recreating it? Why doesn't it trigger every time?</p>