Подпроцесс Tkinter блокирует графический интерфейс и не возвращает стандартный вывод в текст
Я боролся с Tkinter некоторое время и исчерпал большинство ресурсов, которые у меня есть, чтобы сослаться на это. Здесь я нашел пару похожих тем, но ни одна из них не привела меня туда, где я должен быть.
У меня есть долго работающий скрипт на Python, и я надеялся создать графический интерфейс для взаимодействия с ним. В настоящее время я пытаюсь передать данные из CLI обратно в GUI, но не могу получить какие-либо данные, и GUI блокируется при вызове подпроцесса.
Я довольно новичок в Python и переполнении стека, поэтому прошу прощения, если я пропустил что-то глупое или не задал вопрос правильно.
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()