[Tkinter-discuss] Notebook - Bad Window Path Name

Mario St-Gelais mario.stg at videotron.ca
Sun Mar 20 13:45:33 CET 2011


Thanks.  This is an answer on a silver plate. :)
Thanks for the self.root tip too.

That definitely did the trick.  I went with your option two.

Mario

On Sat, 19 Mar 2011 18:37:07 +0100
Michael Lange <klappnase at web.de> wrote:

> Hi Mario,
> 
> Thus spoketh Mario St-Gelais <mario.stg at videotron.ca> 
> unto us on Sat, 19 Mar 2011 11:58:16 -0400:
> 
> > Good Day All.
> > 
> > I am trying to get Notebook to work and the following code return
> > errors.  If I replace f2 with something similar to f1, it works.
> > 
> 
> The problem is the following class definition:
> 
> > 
> > class FirstFrame():
> >     def __init__(self,root):
> >         self.root=root
> >         self.frame=Frame(self.root)
> >         self.PlaceButtonCheck()
> (...)
> 
> According to this, an instance of the FirstFrame class is *not* a tk
> widget, but just a generic python object. So you will have to 
> 
> * either replace the following lines in your code:
> 
>         f2=FirstFrame(nb)
>         nb.add(f2, text='in')
> 
>   with
> 
>         f2=FirstFrame(nb)
>         nb.add(f2.frame, text='in')# pass the Frame object to nb.add()
> 
> * or (better) change your class definition so that the FirstFrame
>   instance becomes a real Frame object by subclassing Frame. The
> usual way to do this is something like:
> 
> class FirstFrame(Frame):
>     def __init__(self, *args, **kw):
>         Frame.__init__(self, *args, **kw)
>         self.PlaceButtonCheck()
>     ...(etc.)...
> 
> (note that you don't need the self.root attribute any longer, because
> every widget has its parent linked to self.master by default).
> 
> I hope this helps
> 
> Michael
> 
> .-.. .. ...- .   .-.. --- -. --.   .- -. -..   .--. .-.
> --- ... .--. . .-.
> 
> I'm frequently appalled by the low regard you Earthmen have for life.
> 		-- Spock, "The Galileo Seven", stardate 2822.3
> _______________________________________________
> 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