WxPython,ListCtrl将行添加到顶部

WxPython,ListCtrl将行添加到顶部,wxpython,listctrl,Wxpython,Listctrl,我有一个ListCtrl,我希望将新行添加到列表的顶部(之前要向下推的行) 你能帮我吗 谢谢 我不相信有一个内置的方法来实现这一点。您必须保存数据,清除控件,然后插入新行或紧跟原始行的行。就个人而言,我会转而使用ObjectListView小部件,您可以在其中使用对象列表。然后,您可以在列表中插入一个对象并重置控件。我不相信有内置的方法可以实现这一点。您必须保存数据,清除控件,然后插入新行或紧跟原始行的行。就个人而言,我会转而使用ObjectListView小部件,您可以在其中使用对象列表。然后

我有一个ListCtrl,我希望将新行添加到列表的顶部(之前要向下推的行) 你能帮我吗


谢谢

我不相信有一个内置的方法来实现这一点。您必须保存数据,清除控件,然后插入新行或紧跟原始行的行。就个人而言,我会转而使用ObjectListView小部件,您可以在其中使用对象列表。然后,您可以在列表中插入一个对象并重置控件。

我不相信有内置的方法可以实现这一点。您必须保存数据,清除控件,然后插入新行或紧跟原始行的行。就个人而言,我会转而使用ObjectListView小部件,您可以在其中使用对象列表。然后,您可以在列表中插入一个对象并重置控件。

解决方案的有趣之处在于,我错误地将
index=0
放在了列表的顶部,并注意到它更新了我的列表。即使在使用
OnUpdatePList
函数追加新行时,它也会追加到顶部。对我的应用程序来说效果很好

def OnUpdatePList(self, pobj):
    sr = self.index + 1,
    index = 0
    self.list_ctrl.InsertStringItem(index, str(sr[0]))
    self.list_ctrl.SetStringItem(index, 1, unicode(pobj["title"]))
    self.list_ctrl.SetStringItem(index, 2, unicode(pobj["name"]))
    self.list_ctrl.SetStringItem(index, 3, unicode(pobj["date"]))
    self.list_ctrl.SetStringItem(index, 4, unicode(pobj["rdby"]))
    self.list_ctrl.SetStringItem(index, 5, unicode(pobj["dues"]))
    self.index += 1

这个解决方案的有趣之处在于,我错误地将
index=0
放在了列表的顶部,并注意到它通过将行放在顶部来更新了我的列表。即使在使用
OnUpdatePList
函数追加新行时,它也会追加到顶部。对我的应用程序来说效果很好

def OnUpdatePList(self, pobj):
    sr = self.index + 1,
    index = 0
    self.list_ctrl.InsertStringItem(index, str(sr[0]))
    self.list_ctrl.SetStringItem(index, 1, unicode(pobj["title"]))
    self.list_ctrl.SetStringItem(index, 2, unicode(pobj["name"]))
    self.list_ctrl.SetStringItem(index, 3, unicode(pobj["date"]))
    self.list_ctrl.SetStringItem(index, 4, unicode(pobj["rdby"]))
    self.list_ctrl.SetStringItem(index, 5, unicode(pobj["dues"]))
    self.index += 1

我想你可能是对的。但我还是在设置
index=0时实现了这一点。我会把它更新为答案。我想你可能是对的。但我还是在设置
index=0时实现了这一点。我会把它更新为答案。