[Python] Consiglio su utilizzo di variabili globali
Simone
simozack a yahoo.it
Ven 9 Maggio 2008 13:32:27 CEST
Mr.SpOOn ha scritto:
> A me interessa poter istanziare una classe a runtime, ad esempio
> cliccando su un bottone. Ogni click, una nuova istanza. Dico che non
> va bene usare
>
> pannello = Pannello()
>
> perché così legherei l'istanza sempre alla stessa variabile. O sbaglio?
> Forse dovrei semplicemente chiamare Pannello() e restituire l'istanza
> senza assegnarla ad alcuna variabile e aggiungerla nell'apposito
> wxFrame.
Continuo a non capire. *Sembra* che tu voglia generare dei pannelli
diversi pertendo da un pannello, per così dire, di traccia e che mette o
toglie elementi a seconda dei parametri che gli vengono passati. Se è
così, dove sta la complicazione? Nel senso che crei la classe pannello,
e nell'__init__ ci fai passare i parametri che ti servono. Poi a seconda
di dove vuoi metterlo, lo associarai ad un attributo specifico.
Tipo, in pseudo-codice,:
class Pannello(wx.Panel):
def __init__(self, parent, parametro, parametro2):
if parametro:
do_something()
if parametro2:
do_something_else()
class Frame1(wx.Frame):
def __init__(self, parent):
self.pannello = Pannello(self, parametro, parametro2)
class Frame2(wx.Frame):
def __init__(self, parent):
self.pannello = Pannello(self, 'foo', 'bar')
In questo modo il pannello del Frame1 è un'istanza "per conto proprio"
rispetto al pannello del Frame2.
Simone
Chiacchiera con i tuoi amici in tempo reale!
http://it.yahoo.com/mail_it/foot/*http://it.messenger.yahoo.com
Maggiori informazioni sulla lista
Python