мой вопрос почти такой же: Запуск процесса с выводом в реальном времени в графический интерфейс Tkinter
У меня есть пример кода для печати в графический интерфейс (в реальном времени), но он появляетсясразу же и заставляет мое приложение заморозить.Я попытался изменить маленький код, полученный из ответа на поставленный выше вопрос, в соответствии с функцией, которую я хотел отобразить, но это не сработало.
Я новичок в Python, я пытался найти ответ и в основном использую многопоточность и popen.
from tkinter import *
from d2v import output
root=Tk()
textbox=Text(root)
textbox.pack()
button1=Button(root, text='output', command=lambda : output().output_res())
button1.pack()
def decorator(func):
def inner(inputStr):
try:
textbox.insert(INSERT, inputStr)
return func(inputStr)
except:
return func(inputStr)
return inner
sys.stdout.write=decorator(sys.stdout.write)
root.mainloop()
вот функция для печати:
import sys, time
class output:
def output_res(self):
for i in range(10):
print(i)
sys.stdout.flush()
time.sleep(0.5)