Subproceso de Tkinter que bloquea la GUI y no devuelve stdout al texto

He estado luchando con Tkinter durante un tiempo y he agotado la mayoría de los recursos que tengo para hacer referencia a esto. He encontrado un par de temas similares aquí, pero ninguno me lleva a donde necesito estar.

Tengo un script Python de larga ejecución y esperaba construir una interfaz gráfica de usuario para interactuar con ella. Actualmente estoy tratando de canalizar los datos de la CLI a la GUI, pero parece que no puedo obtener ninguno de los datos y la GUI se bloquea cuando se llama al subproceso.

Soy bastante nuevo con Python y con el desbordamiento de la pila, así que me disculpo si me he perdido algo estúpido o no hice la pregunta de la manera correcta.

import Tkinter
from Tkinter import *
import subprocess
import sys


top = Tkinter.Tk()

def startScript():
   root = Tk()

   cli = subprocess.Popen(['python.exe', 'aScript.py'], shell=False, stdout=subprocess.PIPE)
   root.update()

   while True:
       line = cli.stdout.readline()
       if line == '' and process.poll() is not None:
           break
       print line
       t.insert(tk.END, line)


B = Tkinter.Button(top, text ="Start Script", command = startScript)

B.pack()
top.mainloop()

Respuestas a la pregunta(0)

Su respuesta a la pregunta