2013-01-07 6 views
2

我想從(python)列表控件的'0'索引中刪除一個項目。在我的應用程序中,這些項目將從'0'以上的索引中刪除,但'0'索引不會被刪除。我的代碼沒有報告錯誤。從python中的listctrl中刪除

例如: - 有以下數據的列表; 0的keydown(鍵+ CTRL)
1個等待(0.21) 2點擊(....) 3個等待(1.25)等

所以我想從列表中刪除控制1號線。在這個例子中,0,1,2,3只是列表控件的列表索引號。

在此先感謝!

+0

如果您可以創建一個與您的應用程序相同問題的小示例代碼將會很有幫助。 – Fenikso

回答

3
import wx 

DATA = [("0", "Zero"), ("1", "One"), ("2", "Two")] 

class MainWindow(wx.Frame): 
    def __init__(self, *args, **kwargs): 
     wx.Frame.__init__(self, *args, **kwargs) 

     self.panel = wx.Panel(self) 

     self.list = wx.ListCtrl(self.panel, style=wx.LC_REPORT) 
     self.list.InsertColumn(0, "#") 
     self.list.InsertColumn(1, "Number")  
     for data in DATA: 
      self.list.Append((data[0], data[1])) 

     self.button = wx.Button(self.panel, label="Delete index 0") 
     self.button.Bind(wx.EVT_BUTTON, self.OnButton) 

     self.sizer = wx.BoxSizer(wx.VERTICAL) 
     self.sizer.Add(self.list, 1, wx.ALL | wx.EXPAND, 5) 
     self.sizer.Add(self.button, 0, wx.ALL | wx.EXPAND, 5) 
     self.panel.SetSizerAndFit(self.sizer) 

     self.Show() 

    def OnButton(self, e): 
     self.list.DeleteItem(0) 


if __name__ == "__main__": 
    app = wx.App(False) 
    win = MainWindow(None) 
    app.MainLoop()