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()