[python] Presmerovanie stdout do okna v Tkinteri
Pavel Kosina
geon na post.cz
Středa Leden 31 13:42:13 CET 2007
RMiklos na pss.sk napsal(a):
> Takze presmerovanie print-ov konzoloveho programu do okna (sys.stdout =
> text_window)
> bude fungovat i s konzolovym programom ktory pouziva sys.exit() /diky
> Leovi/ asi takto:
>
trochu jsem to vylepšil ;-)
from Tkinter import *
from ScrolledText import ScrolledText
import sys
class py_message_box:
def __init__(self, parent):
self.frame = Frame(parent)
self.frame.pack()
self.text = ScrolledText(self.frame,
background='black',foreground='green', font=("Courier", 9))
self.text.pack()
self.mybutton = Button(self.frame, text="Quit",
command=self.mybuttonClick)
self.mybutton.pack(fill=BOTH) #roztažení
def mybuttonClick(self):
self.frame.destroy() # mě nikdy quit() nefungovalo...
def write(self, s):
self.text.insert(END, s)
self.text.see(END) # aby bylo poslední vždy vidět
root=Tk()
text_window = py_message_box(root)
sys.stdout = text_window
print "Toto je pokus o presmerovanie printu do okna\n"*100 # 100x
root.mainloop()
--
geon
Pavel Kosina
Další informace o konferenci Python