[python] Presmerovanie stdout do okna v Tkinteri

RMiklos na pss.sk RMiklos na pss.sk
Středa Leden 31 13:45:35 CET 2007


ok. teraz uz je to perfektne :-)))
Je to priklad jak sa daju modernizovat stare konzolove aplikacie na GUI 
aplikacie bez zasahu do tela povodnej aplikacie. 




Pavel Kosina <geon na post.cz> 
Sent by: python-bounces na py.cz
31.01.2007 13:42
Please respond to
Konference PyCZ <python na py.cz>


To
Konference PyCZ <python na py.cz>
cc

Subject
Re: [python] Presmerovanie stdout do okna v Tkinteri






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

_______________________________________________
Python mailing list
Python na py.cz
http://www.py.cz/mailman/listinfo/python


Mgr. Ing. Roman MIKLÓŠ 
Prvá stavebná sporiteľňa a.s. 
Bajkalská 30, P. O. Box 48 
829 48  Bratislava 25 
Tel.: +421/ 2 / 582 31 174 
Fax: +421/ 2 / 582 31 109 



Další informace o konferenci Python