title: Running a loop alongside a Tkinter application
body: <p>I am a high school programming student and I have a small question. I have been tasked with writing a simple game in Tkinter where an icicle falls from the ceiling and you have to avoid it with your mouse. Simple enough. However, I have hit an issue. Whenever I run a loop in a Tkinter application, it won't open. I've tried with a for loop that pauses every .5 seconds using time.sleep() and the window opens as soon as the loop finishes. Is there some special thing I need to do to make loops work in Tkinter?</p>
  
  <pre><code>from Tkinter import *
  import time
  import random
  
  class App:
      def __init__(self, parent):
          self.frame = Frame(root, bg= '#1987DF', width=800, height=800)
          self.frame.bind("&lt;Motion&gt;", self.motionevent)
          self.frame.pack()
          #self.run()
      def randhex(self):
          b = "#"
          for i in range(1, 7):
              a = random.randint(0, 15)
              if a == 10:
                  a = "A"
              elif a == 11:
                  a = "B"
              elif a == 12:
                  a = "C"
              elif a == 13:
                  a = "D"
              elif a == 14:
                  a = "E"
              elif a == 15:
                  a = "F"
              b = b+str(a)
          return b
  
      def motionevent(self, event):
          xpos, ypos, bg = event.x, event.y, self.randhex()
          str1 = "X : %d  Y : %d BG : %s" % (xpos, ypos, bg)
          root.title(str1)
          x,y, delta = 100, 100, 10
          self.frame.config(bg=bg)
  
      def run(self):
          for i in range(0, 10):
              time.sleep(.5)
              print 'i'
              self.frame.config(bg=self.randhex())
  
  root = Tk()
  app = App(root)
  root.mainloop()
  </code></pre>
  
  <p>Currently all it is supposed to do is change the background when the mouse moves. When the line in <strong>init</strong> that says self.run() is uncommented it will print 'i' 10 times then the window will open. Help?</p>