<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
Dan Deternova napsal(a):
<blockquote cite="mid9560d3c05080816487b0b46c2@mail.gmail.com"
 type="cite">i am making a simple script to get the hang of Tkinter. i
want to use the input of the user from a Entry and calcuate the area. i
have tryied many way... as you can see in my script.&nbsp;&nbsp; the Entry is
under def area():&nbsp; and the output i want is under def cal():&nbsp; ...
please help me fix my code and explain to me what you did.. thanks in
advance.
  <br clear="all">
  <br>
  <a href="mailto:%7Emoparfan90@gmail.com"></a></blockquote>
here is corrected script, I just correct the area funciton and all what
belongs to it. Instead of DoubleVar, you could also use IntVar, if you
prefer....<br>
<br>
<tt>#program made and maintained by Dan Deternova<br>
#start of program<br>
<br>
from Tkinter import
*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# tells computer we are using Tkinter modual<br>
from tkMessageBox import *<br>
def cal():<br>
&nbsp;&nbsp;&nbsp; win4 = Toplevel<br>
&nbsp;&nbsp;&nbsp; print 'area = ', w.get()*h.get()<br>
&nbsp;&nbsp;&nbsp; <br>
def notyet():<br>
&nbsp;&nbsp;&nbsp; showerror('not yet avalable')<br>
<br>
win =
Tk()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# makes windows and has value for Tk<br>
def makemenu(Tk):<br>
&nbsp;&nbsp;&nbsp; top = Menu(win)<br>
&nbsp;&nbsp;&nbsp; win.config(menu=top)<br>
<br>
&nbsp;&nbsp;&nbsp; file = Menu(top)<br>
&nbsp;&nbsp;&nbsp; file.add_command(label='save your name', command=newwin,
underline=0)<br>
&nbsp;&nbsp;&nbsp; file.add_command(label='quit', command=win.destroy, underline=0)<br>
&nbsp;&nbsp;&nbsp; file.add_command(label='quit all', command=win.quit, underline=0)<br>
&nbsp;&nbsp;&nbsp; top.add_cascade(label='file', menu=file, underline=0)<br>
&nbsp;&nbsp;&nbsp; edit = Menu(top, tearoff=0)<br>
&nbsp;&nbsp;&nbsp; edit.add_command(label='copy', command=notyet, underline=0)<br>
&nbsp;&nbsp;&nbsp; edit.add_command(label='paste', command=notyet, underline=0)<br>
&nbsp;&nbsp;&nbsp; edit.add_command(label='quit', command=win.destroy, underline=0)<br>
&nbsp;&nbsp;&nbsp; top.add_cascade(label='edit', menu=edit, underline=0)<br>
<br>
<br>
def
newwin():&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# callback to define button newwin.<br>
&nbsp;&nbsp;&nbsp; win2 =
Toplevel()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# makes new window when button is pressed. named win2<br>
&nbsp;&nbsp;&nbsp; widget = Label(win2, text='your name
here').pack()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # line 'type your
name here' is printed on top of entry<br>
&nbsp;&nbsp;&nbsp; name = StringVar()<br>
&nbsp;&nbsp;&nbsp; widget = Entry(win2,
textvariable=name).pack()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #
makes entry in new window at the top.<br>
&nbsp;&nbsp;&nbsp; widget = Label(win2, text='age
here').pack()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # prints the
line 'age here'<br>
&nbsp;&nbsp;&nbsp; age = StringVar()<br>
&nbsp;&nbsp;&nbsp; widget = Entry(win2,
textvariable=age).pack()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #
makes entry<br>
&nbsp;&nbsp;&nbsp; widget = Label(win2, text='type your address here').pack()<br>
&nbsp;&nbsp;&nbsp; address = StringVar()<br>
&nbsp;&nbsp;&nbsp; widget = Entry(win2, textvariable=address).pack()<br>
&nbsp;&nbsp;&nbsp; def save():<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f=file('fname','a')<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f.write(name.get()+'\n')<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f.write(age.get()+'\n')<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f.write(address.get()+'\n')<br>
<br>
&nbsp;&nbsp;&nbsp; widget = Button(win2, text='save', command=save).pack(side=LEFT)<br>
&nbsp;&nbsp;&nbsp; widget = Button(win2, text='quit',
command=win2.destroy).pack(side=RIGHT)<br>
def area():<br>
&nbsp;&nbsp;&nbsp; global w,h<br>
&nbsp;&nbsp;&nbsp; win3 = Toplevel()<br>
&nbsp;&nbsp;&nbsp; widget = Label(win3, text='type hieght here: ').pack()<br>
&nbsp;&nbsp;&nbsp; h = DoubleVar()<br>
&nbsp;&nbsp;&nbsp; widget = Entry(win3, textvariable=h).pack()<br>
&nbsp;&nbsp;&nbsp; widget = Label(win3, text='type width here:&nbsp; ').pack()<br>
&nbsp;&nbsp;&nbsp; w = DoubleVar()<br>
&nbsp;&nbsp;&nbsp; widget = Entry(win3, textvariable=w).pack()<br>
&nbsp;&nbsp;&nbsp; widget = Button(win3, text=' calculate ',
command=cal).pack(side=BOTTOM, expand=YES, fill=BOTH)<br>
&nbsp;&nbsp; <br>
&nbsp;&nbsp;&nbsp; <br>
fontentry = ('times', 20,
'bold')&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #
(font, size, style) defonision for fontentry. will be used later on in
the program<br>
widget = Entry(win, text='type
here')&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # makes
entry point in 'win'<br>
makemenu(win)<br>
widget.config(font=fontentry)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# makes the font of entry equal to 'fontentry'<br>
widget.config(bg='blue',
fg='yellow')&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #
makes the background (bg) black and the forground (text) yellow<br>
widget.pack(side=TOP, expand=YES,
fill=BOTH)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # 'packs' the
entry on top of win and expands and fill the Y axes<br>
widget = Button(win, text="your name", command=newwin).pack(side=LEFT,
expand=YES, fill=BOTH)# creates button that says 'your name'. see
newwin callback for output.<br>
widget = Button(win, text='quit all',
command=win.quit).pack(side=BOTTOM, expand=YES, fill=BOTH)<br>
widget = Button(win, text='quit', command=win.destroy).pack(side=RIGHT,
expand=YES, fill=BOTH)<br>
widget = Button(win, text='area', command=area).pack(side=LEFT,
expand=YES, fill=BOTH)<br>
win.title('my program')<br>
<br>
#end of program<br>
<br>
</tt>
<pre class="moz-signature" cols="100"><tt>-- </tt>
geon

</pre>
</body>
</html>