title: Threaded Tkinter script crashes when creating the second Toplevel widget
body: <p>I have a Python script which uses Tkinter for the GUI. My little script should create a Toplevel widget every X seconds. When I run my code, the first Toplevel widget is created successfully, but when it tries to create a second one the program crashes. </p>
  
  <p>What I am doing is using the after method to call the function startCounting every 5 seconds alongside root's mainloop. Every time this function is called, I append a Toplevel widget object into a list and start a new thread which hopefully will be running the new mainloop.</p>
  
  <p>I would be very grateful if someone could figure this problem out. By the way, this is just a little script that I am currently using to solve my problem, which is preventing me from going on with my real school project.</p>
  
  <p>The code: </p>
  
  <pre><code>import threading,thread
  from Tkinter import *
  
  
  def startCounting():
      global root
      global topLevelList
      global classInstance
  
      topLevelList.append (Toplevel())
      topLevelList[len(topLevelList)-1].title("Child")
      classInstance.append(mainLoopThread(topLevelList[len(topLevelList)-1]))
  
      root.after(5000,startCounting)
  
  
  class mainLoopThread(threading.Thread):
      def __init__(self,toplevelW):
          self.toplevelW = toplevelW
          threading.Thread.__init__(self)
          self.start()
      def run(self):
          self.toplevelW.mainloop()
  
  
  
  global classInstance
  classInstance = []
  global topLevelList
  topLevelList = []
  global root
  
  root = Tk() 
  root.title("Main")
  startCounting()
  root.mainloop()
  </code></pre>