More Tkinter Help please...

SA sarmstrong13 at mac.com
Thu Jun 13 23:04:18 EDT 2002


Hi Everyone-

    I have another Tkinter question for you. I'm still trying to translate
"that previously mentioned" Tcl/Tk program into Python/Tkinter. The
following is all of the code I've managed so far:

from Tkinter import *
import sys
import os

class PyShell:
    def __init__(self, top):
    
        f = Frame(top)
        f.pack()
        
        self.t1 = Text(f, height="12", width="84", font="Courier 12")
        self.t1.pack(side=TOP, pady=2)
        
        self.t2 = Text(f, height="12", width="84", bg="lightblue",
font="Courier 12")
        self.t2.pack(side=TOP, pady=2)
        
        self.b1 = Button(f, text="Execute", command=self.expyth)
        self.b1.pack(side=LEFT)
        
        self.b2 = Button(f, text="Clear Input", command=self.clearin)
        self.b2.pack(side=LEFT)
        
        self.b3 = Button(f, text="Clear Output", command=self.clearout)
        self.b3.pack(side=LEFT)
        
        self.b4 = Button(f, text="Save Input", command=self.savin)
        self.b4.pack(side=LEFT)
        
    def clearin(self):
        self.t1.delete(0,END)
        
    def clearout(self):
        self.t2.delete(0,END)
        
    def expyth(self):
        output = os.popen("python -c").t1()
        self.t2.delete(0,END)
        sys.stdout.write.t2(output)
        
    def savin(self):
        pass
        
root = Tk()

app = PyShell(root)

root.mainloop()

When I run this I get the following error:

Traceback (most recent call last):
  File "PyShell.py", line 45, in ?
    app = PyShell(root)
  File "PyShell.py", line 17, in __init__
    self.b1 = Button(f, text="Execute", command=self.expyth)
AttributeError: PyShell instance has no attribute 'expyth'


Any ideas on what I'm doing wrong here?

Thanks.
SA




More information about the Python-list mailing list