[Python] area di testo in wxPython
Daniele Varrazzo
piro a develer.com
Mer 14 Nov 2007 15:09:57 CET
Mr.SpOOn ha scritto:
> Salve,
> sto cercando di fare una piccola applicazione dotata di interfaccia
> grafica utilizzando wxPython.
>
> Vorrei fare delle prove con l'input del testo. Più precisamente, avrei
> bisogno di una casella di testo nella quale inserire una frase di
> lunghezza arbitraria (quindi non una semplice parola o uno username) e
> di salvarla, dopo la pressione di un apposito bottone, in un oggetto
> stringa.
>
> Sto leggendo il libro wxPython in action, ma c'è molto più di quanto
> mi serve adesso e non sono riuscito a capire esattamente cosa devo
> utilizzare a questo scopo.
>
> Va bene l'oggetto wx.TextCtrl?
Sì, purché tu aggiunge wx.TE_MULTILINE al parametro del costruttore 'style'.
> O serve un TextEntryDialog?
Forse va bene anche questo. Dalla documentazione
(http://www.wxwidgets.org/manuals/stable/wx_wxtextentrydialog.html) sembra che
anche questo possa prendere lo stesso stile wx.TE_MULTILINE del TextCtrl.
Sicuramente è meno flessibile ma forse fa giusto al caso tuo.
> E come faccio a collegare un bottone all'area di testo?
Nell'init della form in cui metti sia il test box che il bottone, devi
collegare un evento del bottone ad una funzione.
def __init__(...)
self.the_text_ctrl = wx.TextCtrl(self, -1, ...)
self.the_button = wx.Button(self, -1, ...)
self.Bind(wx.EVT_BUTTON, self.buttonPressed)
In questa funzione puoi leggere il valore del text box come stringa:
def buttonPressed(self, evt):
s = self.the_text_ctrl.GetValue()
Tutto non testato!
--
Daniele Varrazzo - Develer S.r.l.
http://www.develer.com
Maggiori informazioni sulla lista
Python