[Python] colorare caratteri in wx.TextCtrl

Simone simozack a yahoo.it
Lun 28 Gen 2008 14:19:22 CET


Mr.SpOOn ha scritto:

> Riprendo la discussione un po' in ritardo, ma ho qualche dubbio.
> 
> In questo pezzo di codice io aggiungo del testo ad una casella di testo:
> 
>         self.text1.SetStyle(5, 10, wx.TextAttr("GREEN"))
>         self.text1.AppendText(listToString(m))
> 
> "m" è il messaggio. Sbaglio a impostare lo stile lì?

Io ho sempre prima impostato il testo e poi il colore dello stesso. 
Anche perché trovo che dirgli di colorare una tal posizione "a 
prescindere" non sia tanto "logico" (forma mentis mia, naturalmente).

Tra le altre, non so che stile hai usato per la TextCtrl. Io di solito 
utilizzo lo stile wx.TE_RICH2 anziché wx.TE_RICH anche perché mi pare di 
aver letto che quest'ultima sia obsoleta o che stia per essere 
soppiantata in toto da wx.RE_RICH2.

Per esempio, questo pezzo di codice funziona su WinXP, python 2.5 e 
wxpython 2.8.7.1:

txtControl = wx.TextCtrl(self, -1, size=(200, -1), style=wx.TE_RICH2)
txtControl.SetValue(m)
txtControl.SetStyle(0, len(m), wx.TextAttr("GREY"))

Occhio che qui gli sto dicendo di colorarmi tutti i caratteri. Per i 
pezzi di testo, devi specificare l'indice di partenza e quello di fine 
(partendo da 0, naturalmente).

Simone
Chiacchiera con i tuoi amici in tempo reale! 
 http://it.yahoo.com/mail_it/foot/*http://it.messenger.yahoo.com 


More information about the Python mailing list