Someone Something wrote:
> > from Tkinter import *;

Try to avoid this. Better import Tkinter. And don't forget to import
Tkconstants too!

> > rate=Frame(root)
> > income=Frame(root)
> > result=Frame(root)

Why do you use three frames? You only need one. And you can make your
class TaxCalc inherit from Tkinter.Frame ...

> > The thing is, that even if I put "12" in the result text field, get
> > returns an empty string. How can I fix this?

I haven't found the reason for that, but this should work. I also added
MRABs version of printResult().

import Tkinter, Tkconstants

class TaxCalc(Tkinter.Frame):

        def __init__(self, root):
                
                Tkinter.Frame.__init__(self, root)

                Tkinter.Button(self,
                        text='Enter tax rate',
                        command=self.getRate).pack()    

                self.rate=Tkinter.Entry(self)
                self.rate.pack()

                Tkinter.Button(self,
                        text='Enter income',
                        command=self.getIncome).pack()  

                self.income=Tkinter.Entry(self)
                self.income.pack()

                Tkinter.Button(self,
                        text='Get result',
                        command=self.printResult).pack()        

                self.result=Tkinter.Entry(self)
                self.result.pack()

                self.pack()

        def getRate(self):
                print "srate: ", self.rate.get()
        
        def getIncome(self):
                print "sincome: ", self.income.get()

        def printResult(self):
                try:
                        rate = float(self.rate.get())
                        income = float(self.income.get())
                        result = ((100.0 - rate) / 100.0) * income
                        self.result.insert(Tkconstants.END, str(result))
                except ValueError:
                        print "Clear everything and start again."
                        print "Don't fool around with me."

root=Tkinter.Tk()
MyCalc=TaxCalc(root)
root.mainloop()

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to