Tkinter app=App(root) problem

Steve Holden steve at holdenweb.com
Sat Apr 30 11:11:06 EDT 2005


snoylr at gmail.com wrote:
> This is my first day working with Tkinter.  I'm using python2.3 on
> WindowsXP. I found this program and entered it.
> 
> from Tkinter import *
> 
> class App:
>     def _init_(self,master):
           ^^^^^^

This should be __init__ (the underscores should be doubled). Python 
"magic methods" are all named in this way.

>         frame = Frame(master)
>         frame.pack()
> 
>         self.button = Button(frame, text = "Quit", fg = "red", command
> =frame.quit)
>         self.button.pack(side=LEFT)
> 
>         self.hi_there = Button(frame, text = "Hello", command =
> self.say_hi)
>         self.hi_there.pack(side=LEFT)
> 
>     def say_hi(self):
>         print "hi there, everyone!"
> 
> root = Tk()
> app = App(root)
> root.mainloop()
> 
> When I run the code in IDLE I get the initial frame but no buttons with
> the following error:
> 
> Traceback (most recent call last):
>   File "C:\Documents and Settings\INTERNET\Desktop\hello2.py", line 18,
> in ?
>     app = App(root)
> TypeError: this constructor takes no arguments
> 
> I have also tried to save the program as with a pyw extension.  Nothing
> happens when I try to run it with that extension.
> 
That's not strictly true. Nothing *appears* to happen, because the same 
error message is produced but there's no windows console to display it in.

regards
  Steve
-- 
Steve Holden        +1 703 861 4237  +1 800 494 3119
Holden Web LLC             http://www.holdenweb.com/
Python Web Programming  http://pydish.holdenweb.com/




More information about the Python-list mailing list