[Python] Problema con Tkinter ma più in generale con le classi

Daniele Zambelli daniele.zambelli a inwind.it
Ven 16 Nov 2007 16:40:39 CET


Alle venerdì 16 novembre 2007, Pietro Battiston ha scritto:
> Salve a tutti.  Dal basso della mia scarsa esperienza con gli oggetti,
> ho un problema forse banale ma che si scontra da un paio di giorni con
> tutto quello che ho sempre pensato sulle classi.
>
> Il problema è riprodotto nel seguente codice:
>
> ###################################################
> import Tkinter
>
> class finestra(Tkinter.Toplevel):
>     def __init__(self):
>        self=Tkinter.Tk()            #Il mio oggetto instanziato lo
> voglio identico ad una finestra toplevel "classica"...
>        self.stringa="testo"       #... tranne che ci voglio aggiungere i
> metodi e gli attributi che mi servono
>
> root1=Tkinter.Tk()
> root2=finestra()
>
> #A questo punto mi aspetto che root1 e root2 siano oggetti assolutamente
> identici, tranne che root2 ha in più il parametro "stringa"
> #Invece...
>
> root1.update()      #Questa riga funziona perfettamente
> root2.update()      #Questa invece mi dà l'errore: <type
> 'exceptions.AttributeError'>: finestra instance has no attribute 'tk'
>
> ###################################################

Fors questo fa al caso tuo:

import Tkinter

class Finestra(Tkinter.Toplevel):
    def __init__(self):
        Tkinter.Toplevel.__init__(self)
        self.stringa="testo"

root1=Tkinter.Tk()
root2=Finestra()

root1.mainloop()

Ciao

-- 

Daniele                        www.fugamatematica.blogspot.com

                          giusto!
  _o)  (o_       (o_ _o)  nel verso
-./\\  //\.-     //\ /\\  forse è perché non guardiamo le cose
 _\_V  V_/_      V_/ \_V  Quando non ci capiamo,


Maggiori informazioni sulla lista Python