I am trying to have an output frame in my application. When I run it i get the error: NoneType object has no attribute insert
on self.widget.insert('end', string)
. Any help would be appreciated.
import Tkinter as tk
import sys
class Test(tk.Tk):
def __init__(self):
tk.Tk.__init__(self)
toolbar = tk.Frame(self).grid()
tk.Button(self, text="print to stdout", command=self.print_stdout).grid()
self.text= tk.Text(self).grid()
sys.stdout= Output(self.text)
def print_stdout(self):
print "Hello"
print "This is test"
class Output(object):
def __init__(self, widget):
self.widget = widget
def write(self,string):
self.widget.insert('end', string)
app = Test()
app.mainloop()
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…