2012-04-30 77 views
2

這很像旅行推銷員問題。我有一個帶有大學名字的列表框(用我從Facebook Graph上抓取的座標支持)。我有選擇模式設置爲多個。我需要知道允許我使用他們選擇的大學的代碼,以便我可以通過一個距離方法。我只需要知道代碼就可以看到他們選擇的內容。我嘗試使用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

是的,這有很大的幫助。非常感謝你。 –

相關問題