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