[PIPython] Eliminare dinamicamente controlli in wxpython
Luca Marrocco
buildup
Mar 11 Gen 2005 12:38:59 CET
On Tue, 11 Jan 2005 11:05:30 +0100
Gianluca Di Carlo <gianluca a letreporte.it> wrote:
> Salve, in un'applicazione wxpython com'è possbilke eliminare
> dinamencamente un controllo?
> In base alle scelte dell'utente dovrei eliminare un controllo wxListCtrl
> e sostituirlo con un controllo wxTreeCtrl e viceversa.
> E' possibile?
uhm, dipende da come hai composto la finestra di dialogo. Di solito
utilizzo un funzione apposita che si occupa di fare il layout
dell'finestra e dei controlli (widget) in essa contenuti... quindi
chiamando tale funzione impongo alla finestra di rifarsi il layout!
Un esempio potrebbe essere piu' esplicativo:
# i puntini indicano i parametri che vuoi
class ContenitoreFrame(wxFrame):
def __init__(self, ...):
wxFrame.__init__(self, ...)
self.caso_uno()
self.do_layout()
def caso_uno(self):
# il parent del contenuto e' ContenitoreFrame ovvero self
self.contenuto = wxListBox(self, ...)
def caso_due(self):
# il parent del contenuto e' ContenitoreFrame ovvero self
self.contenuto = wxTreeCtrl(self, ...)
def do_layout(self):
top_sizer = wxBoxSizer(wxVERTICAL)
top_sizer.Add(self.contenuto)
self.SetSizer(top_sizer)
self.SetAutoLayout(True)
self.Layout()
cosi' dove ti serve puo' richiamare la coppia di funzioni:
self.caso_uno()
self.do_layout()
oppure
self.caso_due()
self.do_layout()
che inseriscono nel contenitore rispettivamente una wxListBox ed una wxTreeCtrl
Luca
More information about the Python
mailing list