from Tkinter import * master = Tk() listbox = Listbox(master) listbox.pack() listbox.insert(END, 'a list entry') for item in ['one', 'two', 'three', 'four']: listbox.insert(END, item) listbox2 = Listbox(master) listbox2.pack() listbox2.insert(END, 'a list entry') for item in ['one', 'two', 'three', 'four']: listbox2.insert(END, item) master.mainloop()
The code above creates a tkinter window with two listboxes. But there’s a problem if you want to retrieve the values from both because, as soon as you select a value in one, it deselects whatever you selected in the other.
Is this just a limitation developers have to live with?
Short answer: set the value of the
exportselectionattribute of all listbox widgets to False or zero.From a pythonware overview of the listbox widget:
The definitive documentation for tk widgets is based on the Tcl language rather than python, but it is easy to translate to python. The
exportselectionattribute can be found on the standard options manual page.