Hi, On Thu, 16 Jan 2014 17:06:26 +1100 "Rob Ward" <rl.w...@bigpond.com> wrote:
> Hi Folks, > Sorry to be back so soon but I have another challenge. No problem, that's what this list was made for ;) (...) > mylist = Listbox(root, yscrollcommand = scrollbar.set ) > for c in COLORS: > e = Label(mylist, text = c, background = c) > mylist.insert(END,e ) > e.pack(fill=X)#Problem line???? > > mylist.pack( side = LEFT, fill = BOTH ) > scrollbar.config( command = mylist.yview ) You are trying here to use the Listbox as a kind of "scrollable Frame" widget which apparently does not work as expected. If you really want to have a scrolled Frame widget in Tkinter you will have to use some "3rd party" widget; I never actually used it myself, but I think the ScrolledWindow widget that comes with the standard library's Tix module should be usable. There is also a ScrolledFrame widget that comes with Pmw (http://pmw.sf.net). There are also some "standalone" ScrolledFrame widgets available, that may or may not be Python3-compatible. For your particular case it looks like the good news is that you need none of these (at least if I understood correctly what you want to achieve), because you can simply make use of the Listboxes itemconfigure command, as in: mylist = Listbox(root, yscrollcommand = scrollbar.set ) i = 0 for c in COLORS: mylist.insert(END,c) mylist.itemconfigure(i, background=c) i += 1 If you are really ambitious you can even try to change each item's foreground, selectbackground and selectforeground colors appropriate to its background. Regards Michael .-.. .. ...- . .-.. --- -. --. .- -. -.. .--. .-. --- ... .--. . .-. Blast medicine anyway! We've learned to tie into every organ in the human body but one. The brain! The brain is what life is all about. -- McCoy, "The Menagerie", stardate 3012.4 _______________________________________________ Tkinter-discuss mailing list Tkinter-discuss@python.org https://mail.python.org/mailman/listinfo/tkinter-discuss