wx textctrl font style
Pom
reply at group.invalid
Mon Apr 2 13:54:39 EDT 2007
kyosohma at gmail.com wrote:
> On Mar 31, 3:13 am, Pom <r... at group.invalid> wrote:
>> Hello
>>
>> I have a tuple of strings which I must show in a textctrl, each item in
>> the tuple representing one line of text.
>>
>> The first three lines of text should each have another style (fontsize
>> and color)
>>
>> i'm using this code to achieve this:
>> tmppos = self.txtInfo.GetInsertionPoint() # get the cursor pos
>> self.txtInfo.write(str(csr[0])+'\n')
>> tmppos2 = self.txtInfo.GetInsertionPoint() # get the new cursor pos
>> self.txtInfo.SetStyle(tmppos, tmppos2, wx.TextAttr("BLUE",
>> wx.NullColour, tmpnewfont))
>> self.txtInfo.write(str(csr[1])+'\n')
>> tmppos3 = self.txtInfo.GetInsertionPoint() # get the new cursor pos
>> self.txtInfo.SetStyle(tmppos2, tmppos3, wx.TextAttr("BLUE",
>> wx.NullColour, tmpnewfont2))
>> self.txtInfo.write(str(csr[2])+'\n')
>> tmppos4 = self.txtInfo.GetInsertionPoint() # get the new cursor pos
>> self.txtInfo.SetStyle(tmppos3, tmppos4, wx.TextAttr(wx.Nullcolour,
>> wx.NullColour, tmpnewfont3))
>>
>> Now, I was wondering if this is the right way of doing this, because I
>> have the feeling this code sucks.
>>
>> Anybody has a better way of doing this?
>>
>> Thx !!!
>
> You could experiment with the "Rich Text" style of the text control
> (see the wxPython Demo). You might also mess with refactoring your
> code a little and doing a FOR loop.
>
> # untested code!!!
> fonts = [tmpnewfont, tmpnewfont2, tmpnewfont3]
> count = 0
> tmppos = self.txtInfo.GetInsertionPoint()
> self.txtInfo.write(str(csr[count])+'\n')
> for i in range(3):
> tmppos2 = self.txtInfo.GetInsertionPoint()
> self.txtInfo.SetStyle(tmppos, tmppos2, wx.TextAttr("BLUE",
> wx.NullColour, fonts[count]))
> tmppos = tmppos2
> count += 1
> self.txtInfo.write(str(csr[count])+'\n')
>
>
> I also noticed a FancyText widget. I've used the HtmlWindow widget for
> an About screen before and I thought it was pretty cool if you know
> HTML. You might also try dropping an email to the wxPython Users Group
> at http://wxpython.org/maillist.php
>
> Hope this helps!
>
> Mike
>
Thx alot !
I know HTML, so I certainly will skip the richtext.
I did'nt see that fancytext widget, I'll take a look and decide between
that and the htmlwindow.
I'm making a simple addressbook, which I can't find like I need it (with
mysql db)
Kindly regards
More information about the Python-list
mailing list