Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   Python (http://www.velocityreviews.com/forums/f43-python.html)
-   -   Tkinter Listbox - Different Text colors in one listbox (http://www.velocityreviews.com/forums/t510337-tkinter-listbox-different-text-colors-in-one-listbox.html)

rahulnag22@yahoo.com 05-29-2007 05:02 PM

Tkinter Listbox - Different Text colors in one listbox
 
Hi,
Is it possible to have different items in a listbox in different
colors? Or is it just one color for all items in a listbox?
Thanks
Rahul


kyosohma@gmail.com 05-29-2007 06:16 PM

Re: Tkinter Listbox - Different Text colors in one listbox
 
On May 29, 12:02 pm, rahulna...@yahoo.com wrote:
> Hi,
> Is it possible to have different items in a listbox in different
> colors? Or is it just one color for all items in a listbox?
> Thanks
> Rahul


Looks like it has to be the same color and font:
http://www.pythonware.com/library/tk...on/listbox.htm

Maybe there's a custom listbox in the PMW or Tix modules?

It would appear that wxPython has a control that does allow different
colors (and likely, fonts) called wx.HtmlListBox. I assume it would
allow any kind of html, although I've never played with it for sure.
The demo seems to imply that though.

Mike


Hendrik van Rooyen 05-30-2007 06:47 AM

Re: Tkinter Listbox - Different Text colors in one listbox
 
<rahulnag22@yahoo.com> wrote:


> Hi,
> Is it possible to have different items in a listbox in different
> colors? Or is it just one color for all items in a listbox?
> Thanks
> Rahul


You specify text and foreground colour when you make the box,
so I don't think its possible.

- Hendrik


Eric Brunel 05-30-2007 08:04 AM

Re: Tkinter Listbox - Different Text colors in one listbox
 
On Tue, 29 May 2007 19:02:03 +0200, <rahulnag22@yahoo.com> wrote:

> Hi,
> Is it possible to have different items in a listbox in different
> colors? Or is it just one color for all items in a listbox?
> Thanks
> Rahul
>


AFAIK, this is not possible with a listbox. You can however quite easily
emulate the behaviour of a listbox with a text widget, which allows to mix
fonts and colors in any way you like.

I did it once by creating a sub-class of Tkinter.Text (cannot post the
code here - closed source, sorry...) and all I had to do was:
- make sure the text widget had its state to DISABLED all the time, except
when modifying it;
- removing all the bindings defined in the text widgets (use
widget.bind_class('Text') to get all the events, then widget.bind(event,
lambda e: 'break') to remove them);
- define a new binding for a button click selecting the line under the
cursor;
- define the insert, delete and getcurselection methods, taking care of
treating the special index END.

All in all, this was just a few dozen lines.

HTH
--
python -c "print ''.join([chr(154 - ord(c)) for c in
'U(17zX(%,5.zmz5(17l8(%,5.Z*(93-965$l7+-'])"

rfg007@gmail.com 05-30-2007 12:04 PM

Re: Tkinter Listbox - Different Text colors in one listbox
 
On May 29, 2:02 pm, rahulna...@yahoo.com wrote:
> Hi,
> Is it possible to havedifferentitems in alistboxindifferentcolors? Or is it justonecolor for all items in alistbox?
> Thanks
> Rahul


from Tkinter import *

root = Tk()
l = Listbox(root)
l.pack()
for x in range(10):
l.insert(END, x)
l.itemconfig(2, bg='red', fg='white')
l.itemconfig(4, bg='green', fg='white')
l.itemconfig(5, bg='cyan', fg='white')
root.mainloop()

You can _only_ configurate 'background', 'foreground',
'selectbackground', 'selectforegroud', not font :(

HTH


rahulnag22@yahoo.com 05-30-2007 04:48 PM

Re: Tkinter Listbox - Different Text colors in one listbox
 
On May 30, 6:04 am, rfg...@gmail.com wrote:
> On May 29, 2:02 pm, rahulna...@yahoo.com wrote:
>
> > Hi,
> > Is it possible to havedifferentitems in alistboxindifferentcolors? Or is it justonecolor for all items in alistbox?
> > Thanks
> > Rahul

>
> from Tkinter import *
>
> root = Tk()
> l = Listbox(root)
> l.pack()
> for x in range(10):
> l.insert(END, x)
> l.itemconfig(2, bg='red', fg='white')
> l.itemconfig(4, bg='green', fg='white')
> l.itemconfig(5, bg='cyan', fg='white')
> root.mainloop()
>
> You can _only_ configurate 'background', 'foreground',
> 'selectbackground', 'selectforegroud', not font :(
>
> HTH


Thanks for the feedback all. I tried the itemconfig method and it
works great.
Thanks


Hendrik van Rooyen 05-31-2007 06:48 AM

Re: Tkinter Listbox - Different Text colors in one listbox
 
<rfg007@gmail.com> wrote:


> On May 29, 2:02 pm, rahulna...@yahoo.com wrote:
> > Hi,
> > Is it possible to havedifferentitems in alistboxindifferentcolors? Or is it

justonecolor for all items in alistbox?
> > Thanks
> > Rahul

>
> from Tkinter import *
>
> root = Tk()
> l = Listbox(root)
> l.pack()
> for x in range(10):
> l.insert(END, x)
> l.itemconfig(2, bg='red', fg='white')
> l.itemconfig(4, bg='green', fg='white')
> l.itemconfig(5, bg='cyan', fg='white')
> root.mainloop()
>
> You can _only_ configurate 'background', 'foreground',
> 'selectbackground', 'selectforegroud', not font :(


Live and learn, - was not aware you could do this - thanks, nice one.

- Hendrik



All times are GMT. The time now is 08:52 PM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.