tkinter listboxes

James Stroud jstroud at mbi.ucla.edu
Thu May 3 23:59:30 EDT 2007


rahulnag22 at yahoo.com wrote:
> I will give a simplified example of the problem at hand --
> 
> I have a case in which I have two listboxes - listbox1 and listbox2,
> if I click on an item in listbox1 the item gets highlighted as
> expected. Now if I click on an item in listbox2 the selected item in
> listbox1 loses its highlight. My question is how do I keep the
> listbox1 item from losing its highlight if I select an item in
> listbox2 or to that matter any other widget.
> 
> Thanks
> Rahul
> 

You will need to bind '<Button-1>' for each list box to something like:


def button1(e):
   row = e.widget.lists[0].nearest(e.y)
   e.widget.selection_clear(0, END)
   e.widget.selection_set(row)
   return 'break'

# how to bind
alistbox.bind('<Button-1>', button1)


The less than obvious thing here is that selections (highlighted here) 
are different than the active index (which is marked with an underline). 
You are probably using the active index and don't realize the difference.

James



More information about the Python-list mailing list