我想从具有与之关联的特定ID的wxPython项添加到wx.ListCtrl。我怎样才能做到这一点?实际上,如何将任何数据与特定的ListCtrl项相关联?
答案 0 :(得分:1)
我会创建一个字典,其中键是ID,然后使用ListCtrl的SetItemData将键与列表控件项相关联。然后,您可以使用GetItemData方法检索ID并将其与字典一起使用以获取数据。
或者您可以使用ListCtrlPyDataMixin
来简化这一过程:
就个人而言,我真的很喜欢使用ObjectListView而不是直接的wx.ListCtrl。这是一个关于它是如何工作的教程:
正如@ nepix32所提到的,你也可以使用wx.DataViewCtrl,如果你有wxPython 2.9或更新。
答案 1 :(得分:0)
基本上,您可以将long
与wx.ListCtrl
.SetItemData和.GetItemData方法相关联(例如,对于row_id
来自数据库。
但是,如果你有一个相当新的wxPython(> = 2.9),你应该更好地使用wx.DataViewCtrl
。它比ListCtrl更强大,更容易编程,并带有PyDataViwModel
,它允许您将对象映射到视图项。
更接近ListCtrl的是wx.DataViewListCtrl
,它与函数范围中的wx.ListCtrl
非常相似。