On Sun, 20 Feb 2005 17:12:54 +0200 Mark Kels <[EMAIL PROTECTED]> wrote:
> Hi all. > First, here is the code I have a problem with (I got same problem in > my project) : > from Tkinter import * > def go(): > e.get() > print e > > main=Tk() > e=Entry(main) > e.pack() > b=Button(main,text='OK',command=go()).pack() > main.mainloop() > > For some reason the function is called before I click the button, and > I get .10037088 before I have done a thing. > How do I do it right ??? > -- Hi Mark, First problem: you need to assign the command for the button without parenthesis: b = Button(main, text='OK', command=go) b.pack() I split the line you used into two lines, because pack() returns None , so you don't have a reference to the button once you created it. Of course you can do it the way you did if you don't need to reference the button anymore, however there's not much use in assigning a new variable to it, just write: Button(main,text='OK',command=go()).pack() Second problem: your go() function does just what you told it to: it prints the "window name" (or however this is called) of the entry widget. You surely meant something like this: def go(): contents = e.get() print contents or simply: def go(): print e.get() I hope this helps Michael _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor