带有特定数据的wxPython wx.ListCtrl

带有特定数据的wxPython wx.ListCtrl,wxpython,listitem,listctrl,Wxpython,Listitem,Listctrl,我想从wxPython向wx.ListCtrl添加具有特定ID的项。我怎样才能做到这一点?实际上,如何将任何数据关联到特定的ListCtrl项?基本上,您可以将long与wx.ListCtrl和方法关联起来(例如,对于数据库中的行id) 但是,如果您有一个相当新的wxPython(>=2.9),您应该更好地使用wx.DataViewCtrl。它比ListCtrl功能更强大,编程更容易,它带来了一个PyDataViwModel,允许您将对象映射到视图项 更靠近ListCtrl的是wx.DataVi

我想从wxPython向wx.ListCtrl添加具有特定ID的项。我怎样才能做到这一点?实际上,如何将任何数据关联到特定的ListCtrl项?

基本上,您可以将
long
wx.ListCtrl
和方法关联起来(例如,对于数据库中的
行id

但是,如果您有一个相当新的wxPython(>=2.9),您应该更好地使用
wx.DataViewCtrl
。它比ListCtrl功能更强大,编程更容易,它带来了一个
PyDataViwModel
,允许您将对象映射到视图项


更靠近ListCtrl的是
wx.DataViewListCtrl
,它与函数范围中的
wx.ListCtrl
非常相似。

我将创建一个字典,其中键是ID,然后使用ListCtrl的SetItemData将键与列表控件项相关联。然后可以使用GetItemData方法检索ID和u用你的字典来获取数据

或者您可以使用
列表CtrlPydataMixin
,这将使这一点变得更容易:

就个人而言,我非常喜欢使用ObjectListView而不是直接的wx.ListCtrl。下面是一个关于它如何工作的教程:

正如@nepix32所提到的,如果您有wxpython2.9或更高版本,还可以使用wx.DataViewCtrl