wxPython | wxDataViewListCtrl获取所有选定的行/项

时间:2015-09-22 07:54:45

标签: python user-interface wxpython wxformbuilder

我将wxPython与wxFormBuilder结合使用。 我有一个wxDataViewListCtrl有5列列出我的值。 用户可以选择一行或多行(style = wxDV_MULTIPLE)。 如果用户只选择一行,我可以用这种方法捕获它:

def showContextTZM( self, event ):
    if self.m_dvlc.HasSelection():
        item_id = event.GetItem().GetID()

如果用户选择多行,我只会获得放置光标的项目。 我没有找到任何方法来获取所有选定的项目。

感谢您的回答。

1 个答案:

答案 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中有效(我没有为凤凰城测试过)。