[Tkinter-discuss] How to make Button Command work as a called function ?
Michael O'Donnell
michael.odonnell at uam.es
Tue Nov 3 09:10:08 CET 2009
HI Bogzab,
> def wait_a_bit():
> topwin.iconify
> print "Pressed No"
change the second line for:
topwin.iconify()
You need to end a method call with () to indicate it is
an invocation. Otherwise, the statement just returns
a pointer to the method.
Mick
On Mon, Nov 2, 2009 at 10:48 PM, bogzab <bogus at bogzab.plus.com> wrote:
>
> I think I am making a rookie error with this somewhere but cannot figure out
> where.
>
> If I create a button with these lines of code :
>
> topwin = Tk()
> ...
> frame = Frame(topwin)
> ...
> butt2 = Button(frame, text="Not yet", command=topwin.iconfiy)
>
> When the program runs, the button acts as expected and the window is
> iconified.
>
> If however the line which creates the button is :
>
> butt2 = Button(frame, text="Not yet", command=wait_a_bit)
>
> where wait_a_bit is a function I define as follows :
>
> def wait_a_bit():
> topwin.iconify
> print "Pressed No"
>
> then the print statement in this function works, but the topwin.iconify
> statement
> does not.
>
> I have tried declaring topwin to be global but this made no difference.
>
> Can anybody point me to where my error lies in the second approach ? I want
> to
> do it as a function because there are other bits of code as well as the
> iconify
> that I need to incorporate.
>
> --
> View this message in context: http://old.nabble.com/How-to-make-Button-Command-work-as-a-called-function---tp26157859p26157859.html
> Sent from the Python - tkinter-discuss mailing list archive at Nabble.com.
>
> _______________________________________________
> Tkinter-discuss mailing list
> Tkinter-discuss at python.org
> http://mail.python.org/mailman/listinfo/tkinter-discuss
>
More information about the Tkinter-discuss
mailing list