【问题标题】:wxPython | wxDataViewListCtrl get all selected rows/itemswxPython | wxDataViewListCtrl 获取所有选定的行/项目
【发布时间】:2015-09-22 07:54:45
【问题描述】:

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

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

如果用户选择了不止一行,我只会得到光标所在的项目。 我没有找到任何方法来获取所有选定的项目。

感谢您的回答。

【问题讨论】:

    标签: python user-interface wxpython wxformbuilder


    【解决方案1】:

    由于某种原因,您需要的功能没有记录(至少在唯一真正可用的 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 测试过)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多