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
You specify text and foreground colour when you make the box,
so I don't think its possible.
- Hendrik
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+-'])"
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
Live and learn, - was not aware you could do this - thanks, nice one.
- Hendrik