title: Trying to update a label inside a grid using time-delayed character typing
body: <p>I tried asking this question earlier, but I think this is a better way to ask.</p>
  <p>To start:</p>
  <p>I am using Windows, and Python 3, with <code>Tkinter</code>.</p>
  <p>I am trying to, on button press, update the first row of my grid, namely <code>page_label</code> to add a single character over time, and I'm currently attempting this using <code>time.sleep()</code> inside a <code>for</code> loop.</p>
  <p>This works extremely well when using <code>sys.stdout.write()</code> without a gui, but I couldn't manage to get anything to write to a label directly, rather than my terminal.</p>
  <p>So, I figured I should be able to use the <code>.config</code> from <code>tkinter</code>, and just update the label for each character, with a small time delay between each update.</p>
  <p>However, when I run the following code, the time delay stacks and the update to the config doesn't run until the end.</p>
  <p>So, when I first run the app, I get my initialized text in <code>page_label</code>.
  Then after what I assume is the completion of the <code>for</code> loop, the final new statement displays as the label updates.</p>
  <p>I would be happy with either my current workaround to work, or if there is a nice, clean way to get <code>stdout</code> to write to the label directly, I'd be extremely pleased.</p>
  <pre><code>import time
  from tkinter import *
  from tkinter.ttk import *
  from PIL import Image, ImageFont, ImageTk, ImageDraw
  import json
  
  root = Tk()
  root.title('actiread test')
  root.iconbitmap(&quot;C:\\Users\\nicho\\Desktop\\Code Puzzles\\actiread\\actireadico.ico&quot;)
  root.geometry(&quot;800x800&quot;)
  
  #button triggering time delay text
  
  def get_input():
      words = &quot;&quot;
      statement = &quot;I need this to print in time delay&quot;
      for char in statement:
          words = words + char
          page_label.config(text = words)
          time.sleep(0.2)
  
  #creating updating label
  
  page_label = Label(root, text = &quot;I want to start with an introduction&quot;)
  
  #creating button
  entry_button = Button(root, text = &quot;Start&quot;, command = get_input)
  
  page_label.grid(row = 0, column = 0, columnspan = 2)
  entry_button.grid(row = 1, column = 0, pady = 10, sticky = EW)
  
  root.mainloop()
  </code></pre>
  <p>Please ignore the useless imports, I have more to add to the program that I believe will require them.</p>
  <p>If it helps, What I'm trying to accomplish will eventually require user inputs that will be saved for later use, and I'll be moving through several versions of this to move through a storyline.</p>
  <p>TIA!</p>