2016-05-18 14 views
1

左のリストボックスをクリックしようとすると、青色で強調表示されます。どのように私は両方のリストボックスを強調表示させるのですか?それは選択された複数のアイテムを持つことができるように、あなたは、あなたのリストボックスを定義する際にPython Tkinterリストボックスがハイライト表示されない

from Tkinter import * 
root=Tk() 
scrollbar = Scrollbar(root) 
scrollbar.pack(side = RIGHT, fill=Y) 


mylist = Listbox(root, yscrollcommand = scrollbar.set) 
for line in range(100): 
    mylist.insert(END, "This is line number " + str(line)) 
mylist.pack(side = RIGHT, fill = BOTH) 

mylist2 = Listbox(root, yscrollcommand = scrollbar.set) 
for line in range(100): 
    mylist2.insert(END, "This is line number " + str(line)) 
mylist2.pack(side = RIGHT, fill = BOTH) 

def scroll_bar(*args): 
    mylist.yview(*args) 
    mylist2.yview(*args) 
scrollbar.config(command = scroll_bar) 
def side_highlight(e): 
    select_number= mylist2.curselection() #gets where in listbox is selected 
    mylist.selection_set(select_number) 

mylist2.bind('<<ListboxSelect>>', side_highlight) 

root.mainloop() 

答えて

1

あなたはFalseからexportselection引数を設定することができます。したがって、コードは次のようになります。

from Tkinter import * 
root=Tk() 
scrollbar = Scrollbar(root) 
scrollbar.pack(side = RIGHT, fill=Y) 


mylist = Listbox(root, yscrollcommand = scrollbar.set, exportselection = False) 
for line in range(100): 
    mylist.insert(END, "This is line number " + str(line)) 
mylist.pack(side = RIGHT, fill = BOTH) 

mylist2 = Listbox(root, yscrollcommand = scrollbar.set, exportselection = False) 
for line in range(100): 
    mylist2.insert(END, "This is line number " + str(line)) 
mylist2.pack(side = RIGHT, fill = BOTH) 

def scroll_bar(*args): 
    mylist.yview(*args) 
    mylist2.yview(*args) 
scrollbar.config(command = scroll_bar) 
def side_highlight(e): 
    select_number= mylist2.curselection() #gets where in listbox is selected 
    mylist.selection_clear(0, END)  # Needs to clear all previous elements 
    mylist.selection_set(select_number) 

mylist2.bind('<<ListboxSelect>>', side_highlight) 

root.mainloop() 
関連する問題