带有特定数据的wxPython wx.ListCtrl

时间:2014-09-22 20:22:28

标签: wxpython listitem listctrl

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

2 个答案:

答案 0 :(得分:1)

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

或者您可以使用ListCtrlPyDataMixin来简化这一过程:

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

正如@ n​​epix32所提到的,你也可以使用wx.DataViewCtrl,如果你有wxPython 2.9或更新。

答案 1 :(得分:0)

基本上,您可以将longwx.ListCtrl .SetItemData.GetItemData方法相关联(例如,对于row_id来自数据库。

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

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