我将wxPython与wxFormBuilder结合使用。 我有一个wxDataViewListCtrl有5列列出我的值。 用户可以选择一行或多行(style = wxDV_MULTIPLE)。 如果用户只选择一行,我可以用这种方法捕获它:
def showContextTZM( self, event ):
if self.m_dvlc.HasSelection():
item_id = event.GetItem().GetID()
如果用户选择多行,我只会获得放置光标的项目。 我没有找到任何方法来获取所有选定的项目。
感谢您的回答。
答案 0 :(得分:1)
由于某种原因,您需要的功能没有记录(至少在唯一真正可用的wxPython / Phoenix文档中)。它确实出现在current wxWidgets documentation中。但是你可以在wxPython包中找到它:
wxPython classic,wx.dataview
:
def GetSelections(*args, **kwargs):
"""GetSelections(self) -> DataViewItemArray"""
return _dataview.DataViewCtrl_GetSelections(*args, **kwargs)
wxPython Phoenix,.../site-packages/wx/dataview.pi
def GetSelections(self):
"""
GetSelections() -> DataViewItemArray
Returns a list of the currently selected items.
"""
至少在经典的2.9 / 3.0中有效(我没有为凤凰城测试过)。