Home     |     .Net Programming    |     cSharp Home    |     Sql Server Home    |     Javascript / Client Side Development     |     Ajax Programming

Ruby on Rails Development     |     Perl Programming     |     C Programming Language     |     C++ Programming     |     IT Jobs

Python Programming Language     |     Laptop Suggestions?    |     TCL Scripting     |     Fortran Programming     |     Scheme Programming Language


 
 
Cervo Technologies
The Right Source to Outsource

MS Dynamics CRM 3.0

Python Programming Language

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
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/tkinter/introduction/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

 <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

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

- Hendrik

On Tue, 29 May 2007 19:02:03 +0200, <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

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+-'])"

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

On May 30, 6:04 am, rfg@gmail.com wrote:

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

 <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?

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

- Hendrik

Add to del.icio.us | Digg this | Stumble it | Powered by Megasolutions Inc