有沒有辦法將所有IDLE輸出重定向到tkinter GUI,或者使用IDLE輸出做些什麼?我想在tkinter GUI中顯示來自http.server
模塊的所有IDLE輸出,以監控發生在網絡服務器上的所有事情。這可以通過幾個簡單的函數/命令來實現,還是需要編輯IDLE庫文件?將IDLE輸出重定向到GUI(Python33)
以前問過similair,我想將整個IDLE/python shell嵌入到監視程序中,但這對於最新的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()
函數裏面有什麼。仍在尋找一種方式將所有系統輸出到文本小部件中。
對於Tkinter將stdout重定向到文本小部件的示例,請參見[本答案] [1]。 [1]:http://stackoverflow.com/a/12352237/7432 –
@BryanOakley再次,精彩的回答!正是我需要的。不知怎的,沒有找到它,我做了很多谷歌搜索。 – IPDGino