मैं एक लेबल विजेट पर stdout रीडायरेक्ट करने की कोशिश कर रहा हूँ। लक्ष्य मेरे लिपि में मौजूद सभी पायथन प्रिंट्स लेबल में "प्रिंट" करना है।लेबल विजेट में "stdout" को पुनर्निर्देशित करने के लिए कैसे?
लेकिन जब मैं BUTTON1
कुछ भी नहीं पर क्लिक करें होता है ...
यहाँ मेरी कोड है:
from Tkinter import *
import sys
import tkMessageBox
class App:
def __init__(self, master):
self.frame = Frame(master, borderwidth=5, relief=RIDGE)
self.frame.grid()
class IORedirector(object):
def __init__(self,TEXT_INFO):
self.TEXT_INFO = TEXT_INFO
class StdoutRedirector(IORedirector):
def write(self,str):
self.TEXT_INFO.config(text=str)
self.TEXT_HEADER = self.text_intro = Label(self.frame, bg="lightblue",text="MY SUPER PROGRAMM") ## HEADER TEXT
self.TEXT_HEADER.grid(row=0, column=0, columnspan=2, sticky=W+E+N+S)
self.MENU = Frame(self.frame, borderwidth=5, relief=RIDGE, height=12)
self.MENU.grid(row=1, column=0, sticky=N)
self.button = Button(self.MENU, text="QUIT", fg="red", bg="red", command=self.frame.quit)
self.button.grid(row=4, column=0)
self.BUTTON1 = Button(self.MENU, text="BUTTON1", command=self.BUTTON1_CMD)
self.BUTTON1.grid(row=0, column=0,sticky=W+E)
self.TEXT_INFO = Label(self.frame, height=12, width=40, text="I WANT TO SEE THE STDOUT OUTPUT HERE", bg="grey",borderwidth=5, relief=RIDGE)
self.TEXT_INFO.grid(row=1, column=1)
sys.stdout = StdoutRedirector(self.TEXT_INFO)
def BUTTON1_CMD(self):
print "TEST NUMBER ONE"
print "TEST NUMBER TWO"
root = Tk()
app = App(root)
root.mainloop()
आप कमाल हैं! यह पूरी तरह से काम कर रहा है! आपकी मदद के लिए धन्यवाद, मुझे नहीं पता था कि प्रिंट हमेशा प्रिंट स्टेटमेंट के बाद स्टडआउट करने के लिए एक नई लाइन भेज रहा है, जानना अच्छा है ;-) (मैं वोट नहीं दे सकता 'क्योंकि मेरे पास 15 से अधिक प्रतिष्ठा नहीं है लेकिन जैसे ही मेरे पास है, मैं आपके लिए वोट दूंगा;)) –