2012-08-16 46 views
0

我在wxpython(和python太:) newy),我想爲我做一個自定義的程序和學習,但有一些我不能做。我正在尋找Objectlistview的例子,但沒有那麼多。我複製/粘貼/編輯代碼here(最後一個例子),我想要做這樣的事情,以避免重複項目:如何從objectlistview(wxpython)中刪除重複的項目?

self.olv = ObjectListView(self, style=wx.LC_REPORT|wx.SUNKEN_BORDER) 
... 
self.olv.SetDropTarget(MyFileDropTarget(self)) 
self.setFiles() 
self.RemoveDuplicated(self.olv) 

def RemoveDuplicated(self, X): 
    for all in X: 
     Counter = 0 
     for B in X: 
      if X.path(A) == X.path(B): 
       Counter += 1 
      if (X.path(A) == X.path(B) and Counter >=2): 
       Counter += 1 
       RemoveObject(B) 

任何想法或教程做呢?先謝謝你。

現在完成:D,ty Mike再次。

 def __init__(self, window): 
    """Constructor""" 
    wx.FileDropTarget.__init__(self) 
    self.window = window 
    self.all_filenames = [] 


#---------------------------------------------------------------------- 
def OnDropFiles(self, x, y, filenames): 
    """ 
    When files are dropped, update the display 
    """ 
    self.entriesList = list() # Actual dropped file entries; duplicates are avoided. 
    self.haveEntries = False # Tracks actual dropped file entries, but not help entries. 

    self.RemoveDuplicated(self.all_filenames, filenames) 
    self.all_filenames += filenames 
    self.window.updateDisplay(filenames) 

    print len(all_filenames) , len(filenames) 

def RemoveDuplicated(self, X, Y): 
    for A in X: 
     for B in Y: 
      if A == B: 
       Y.remove(B) 

回答

0

既然你添加到ObjectListView什麼是基本對象或類型的字典列表,你可以只在小部件設置這些值,然後運行該列表上的重複數據刪除過程。您可以使用Python的set函數加上解決方案here來解析對象。

有幾個地方尋找ObjectListView信息: