私はtkinter
を使用しています。 コンソール出力をライブモードでGUIに出力する次のコードがあります。これで簡単に数字が印刷されます(現実にあることがわかるように遅延が必要です)。コンソールをtkinterのGUIに出力する際の問題
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
あなたにはいいですが、動作させることができませんでした...しかしあなたの質問は編集されたかもしれません。おそらく最初のペーストは良くありませんでした... [編集] ( –