すべての IDLE 出力を tkinter GUI にリダイレクトする方法、または IDLE 出力で何かを行う方法はありますか? モジュールからのすべての IDLE 出力をhttp.server
tkinter GUI に表示して、Web サーバーで発生しているすべてのことを監視したいと考えています。これはいくつかの単純な関数/コマンドで実行できますか?それとも IDLE lib ファイルの編集が必要ですか?
以前に似たようなことを尋ねられたのですが、監視プログラムに IDLE/python シェル全体を組み込みたいと思っていましたが、これは最新の python バージョンでは不可能のようです。
編集:
from tkinter import *
import sys, time, threading
global TXT
root = Tk()
TXT = Text(root, font="Arial")
TXT.pack(fill=X)
class RedirectText(object):
def __init__(self, TXT):
self.out = TXT
def write(self, string):
TXT.insert(END, string)
sys.stdout = RedirectText(TXT)
for i in range(10):
print("test", i+1)
def thread():
print("Delayed")
threading.Timer(1, thread).start()
threading.Timer(1, thread).start()
root.mainloop()
欠陥のあるコードをすべて削除し、これを入手しました。システムに関連するものは何も書きませんprint()
。関数の内部にあるものだけです。insert
すべてのシステム出力をテキスト ウィジェットにする方法をまだ探しています。