2012-04-30 4 views
2

Это очень похоже на проблему коммивояжера. У меня есть Listbox с именами колледжей в нем (с кодами, которые я захватил на графике Facebook). У меня есть режим выбора, установленный на несколько. Мне нужно знать код, который позволит мне использовать выбранные колледжи, чтобы я мог использовать их на расстоянии. Мне нужно только знать код, чтобы узнать, что они выбрали. Я попытался использовать curselection(), но я все еще не понимаю.Как сохранить выбранный пользователем вход из списка

Вот код:

self.listbox = Listbox(self.mid_frame,width = 42,selectmode ="multiple", 
             highlightcolor = "orange", 
             highlightthickness = "10",bd = "5") 

    coordinates = [] 
    collegelist = [] 
    f = open(sys.argv[1],'r') 
    # grab the college's lat and long from facebook graph 
    for identity in f: 
     urlquery='https://graph.facebook.com/'+identity 
     obj = json.load(urllib2.urlopen(urlquery)) 
     college = obj["name"] 
     latitude = obj["location"]["latitude"] 
     longitude = obj["location"]["longitude"] 
     coordinates.append((college,latitude, longitude)) 
     collegelist.append(college) 

    #sort the colleges so they appear alphabetical order 
    sortcollege = sorted(collegelist) 
    #fill Listbox with the College names imported from a text file 
    for college in sortcollege: 
     self.listbox.insert(END, college) 

    self.listbox.pack(side = LEFT) 
    #The label where I would put the total distance 
    self.output_totaldist_label = Label(self.mid_frame, 
            width = 11, 
            textvariable = self.totaldistance) 
    self.totaldistance = StringVar() 
    self.output_label = Label(self.mid_frame, 
           textvariable = self.totaldistance) 
    self.output_totaldist_label.pack(side = LEFT) 
    self.output_label.pack(side = LEFT) 

ответ

2

Было бы хорошо, чтобы увидеть, как вы пытались curselection увидеть, что пошло не так.

Что-то вроде:

for idx in self.listbox.curselection(): 
    selitem = self.listbox.get(idx) 

должен сделать трюк. Вы пробовали это?

+0

Да, это очень помогло. Большое спасибо. –

Смежные вопросы