Я использую tkinter
. У меня есть следующий код, выводящий консольный вывод в графический интерфейс в режиме реального времени. Теперь он просто печатает числа (требуется задержка, чтобы я мог видеть, что это в реальной жизни).Проблемы с отображением консоли в GUI в tkinter
import tkinter as tk
import time
import sys
class Display(tk.Frame):
def __init__(self):
tk.Frame.__init__(self)
self.doIt = tk.Button(self,text="Start", command=self.start, background = 'black', fg='white')
self.doIt.pack()
self.output = tk.Text(self, width=100, height=15, background = 'black', fg='white')
self.output.pack()
sys.stdout = self
self.configure(background='black')
self.pack()
def start(self):
for i in range (1, 1000):
print (i)
time.sleep(2)
def write(self, txt):
self.output.insert(tk.END,str(txt))
self.update_idletasks()
if __name__ == '__main__':
Display().mainloop()
Однако, когда я пытаюсь сложить окно или переключиться на другое приложение, оно замерзает. Другое дело, что я хочу, чтобы он прокручивался вниз и показывал новый результат, когда он доходил до конца окна. Я был бы признателен за любую помощь по этим вопросам.
Я не вижу, как вы можете получить какой-либо вывод из опубликованного кода, но, может быть, я что-то упустил? –
ну, я взял этот код из Интернета и немного изменил его, и он работает. Он печатает вывод консоли в текстовый виджет – Kate
Хорошо для вас, я не мог заставить его работать ... но я вижу, что ваш вопрос был отредактирован, возможно, первая паста не была хорошей ... [edit] Не повезло: ( –