[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