Please Help

Gary Herron gherron at digipen.edu
Wed Jul 14 17:14:37 EDT 2010


On 07/14/2010 01:51 PM, Hayathms wrote:
> PLease anyone help me ,,
>
> program not running
> ------------------------------------------------------------------------------------
>
> from tkinter import ttk
> from tkinter import *
>
> class Hami(ttk.Frame):
>         def __init__(self,master=None):
>                 ttk.Frame.__init__(self,master,borderwidth=5)
>                 self.grid(column=0,row=0,sticky=('W,E,N,S'),padx=5,pady=5)
>
>
> class Honey(ttk.Label):
>     def __init__(self,master=None,te='Honey'):
>         ttk.Label.__init__(master,text=te)
>         self.grid(column=0,row=0)
>
>
> root=Tk()
> root.title('Employee')
> root.option_add('*tearOff',FALSE)
> sam=Hami(root)
> harmain=Honey(master=sam)
> root.mainloop()
> ------------------------------------------------------------------------------------
>
> Error is  ---->
>
>
> Traceback (most recent call last):
>   File "C:/Python31/hayathhh.py", line 20, in <module>
>     harmain=Honey(master=sam)
>   File "C:/Python31/hayathhh.py", line 13, in __init__
>     self.grid(column=0,row=0)
>   File "C:\Python31\lib\tkinter\__init__.py", line 1843, in grid_configure
>     self.tk.call(
> AttributeError: 'Honey' object has no attribute 'tk'
> >>>


Here is *one* clear problem.  Others may exist.

Since Honey is derived from ttk.Label, Honey's constructor must call 
Label's constructor, (which you do), *however* when called as 
ttk.Label.__init__, you must provide it with the 'self' parameter.

class Honey(ttk.Label):
     def __init__(self,master=None,te='Honey'):
         ttk.Label.__init__(*self*,master,text=te)    # self parameter 
added here
         self.grid(column=0,row=0)






-- 
Gary Herron, PhD.
Department of Computer Science
DigiPen Institute of Technology
(425) 895-4418




More information about the Python-list mailing list