我将wxPython与wxFormBuilder结合使用。
我有一个wxDataViewListCtrl具有5列以列出我的值。
用户可以选择一个或多个行(样式= wxDV_MULTIPLE)。
如果用户仅选择一行,则可以使用此方法捕获它:
def showContextTZM( self, event ):
if self.m_dvlc.HasSelection():
item_id = event.GetItem().GetID()
如果用户选择多于一行,我只会得到光标所在的项目。
我没有找到任何获取所有选定项目的方法。
感谢您的回答。
最佳答案
由于某种原因,您所需的功能并未记录(至少在唯一真正可用的wxPython / Phoenix文档中)。它确实存在于current wxWidgets documentation中。但是您可以在wxPython包中找到它:
wxPython经典版本,在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中有效(我没有为Phoenix测试过)。
关于python - wxPython | wxDataViewListCtrl获取所有选定的行/项目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32711381/