WxPython select 项

WxPython select item

我想在单击按钮时从列表中的选定项目中获取值,并post它在另一个列表中。

    self.list_ctrl = wx.ListCtrl(panel, size=(30,100), pos=(20,30),
                     style=wx.LC_REPORT
                     |wx.BORDER_SUNKEN
                     )

    self.list_ctrl2 = wx.ListCtrl(panel, size=(200,300),pos=(60,200), style=wx.LC_REPORT|wx.BORDER_SUNKEN)




    btn = wx.Button(panel, label="Add Line")
    btn2 = wx.Button(panel, label="Get Column 0")
    btn3 = wx.Button(panel, label="select")


    btn.Bind(wx.EVT_BUTTON, self.add_line)
    btn2.Bind(wx.EVT_BUTTON, self.getColumn)
    btn3.Bind(wx.EVT_BUTTON, self.getSelection)


def add_line(self, event):
    line = "Line %s" % self.index
    self.list_ctrl.InsertItem(self.index, line)
    self.list_ctrl.SetItem(self.index, 1, "01/19/2010")
    self.list_ctrl.SetItem(self.index, 2, "USA")
    self.index += 1

def getColumn(self, event):

    item = self.list_ctrl.GetItem(itemIdx=0, col=0)
    print (item.GetText())
    self.list_ctrl2.InsertItem(item)

def getSelection (self, event):
    item2=self.list_ctrl.GetNextSelected()
    self.list_ctrl2.InsertItem(item2)

我尝试使用 GetItem、GetNextSelected。我在 https://docs.wxpython.org/wx.ListCtrl.html#wx.ListCtrl.GetNextSelected 上搜索 但是我觉得我语法有问题,没找到

我找到了答案

定义列表:

self.userList = wx.ListCtrl(self.panel,pos=(50,200), size=(-1,500),style=wx.LC_REPORT)

绑定事件:

self.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.addSendList, self.userList)

定义事件:

def AddSendList(self, evt):
    choice= self.userList.GetFirstSelected()
    item = self.userList.GetItem(itemIdx=choice, col=0)
    textItem=item.GetText()
    print(choice)
    print(textItem)
    self.sendList.InsertItem(0,textItem)

通过这个函数,我可以在一个 ListCtrl 中拥有选定的值,并将值放入另一个 ListCtrl。