我将 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/