0

すべての IDLE 出力を tkinter GUI にリダイレクトする方法、または IDLE 出力で何かを行う方法はありますか? モジュールからのすべての IDLE 出力をhttp.servertkinter 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すべてのシステム出力をテキスト ウィジェットにする方法をまだ探しています。

4

2 に答える 2

1

stdout を Tkinter テキスト ウィジェットにリダイレクトする例については、この回答を参照してください。

于 2013-07-02T19:41:32.860 に答える