![]() |
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 |
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 |
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 |
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+-'])" |
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 |
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 |
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 11:33 PM. |
Powered by vBulletin®. Copyright ©2000 - 2013, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.