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。
我想在单击按钮时从列表中的选定项目中获取值,并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。