wxWidgets - 将项追加到listctrl的底部

时间:2013-12-20 02:36:56

标签: wxpython wxwidgets

我一直在寻找一段时间,但我还没有找到我认为存在的魔法。

在-1处插入不起作用(0是顶部)我没有尝试在maxint插入,因为long s wx返回(很可能)没有订购,我得出结论因为如果我在另外两个之间插入一个项目,那么所有long给出的所有内容都没有神奇的方法可以增加1.所以我一直认为这些是一些无序的ID,它们可以理解为

我并不总是按顺序插入,所以保持最后生成的不会工作,如何在wx中插入一些内容到listctrl的底部?

我也用wxPython标记了这一点,因为如果你知道另一个你知道另一个。

我对long的理解是否正确?我从来没有手动搞砸过它们。我的抽象合同的一部分 - 不要触摸它让我跟踪东西的东西,作为回报,它将起作用。

1 个答案:

答案 0 :(得分:2)

如果我理解正确,你正在寻找:

  1. list.InsertStringItem(list.GetItemCount(), "...")
  2. list.Append(["...", "..."])
  3. 如本例所示:

    import wx
    
    class MainWindow(wx.Frame):
        def __init__(self, *args, **kwargs):
            wx.Frame.__init__(self, *args, **kwargs)
            self.panel = wx.Panel(self)
    
            self.list = wx.ListCtrl(self.panel, style=wx.LC_REPORT)
            self.list.InsertColumn(0, "No.")
            self.list.InsertColumn(1, "Description")
            self.list.Arrange()
    
            for i in range(5):
                self.list.InsertStringItem(i, str(i))
                self.list.SetStringItem(i, 1, "It's the %d" % (i))
    
            self.list.InsertStringItem(self.list.GetItemCount(), "The END")
            self.list.Append(["And the other END", ""])
    
            self.sizer = wx.BoxSizer(wx.VERTICAL)
            self.sizer.Add(self.list, proportion=1, flag=wx.EXPAND | wx.ALL, border=5)
            self.panel.SetSizerAndFit(self.sizer)
            self.Show()
    
    app = wx.App(False)
    win = MainWindow(None)
    app.MainLoop()
    

    此外,插入返回插入项目的位置,因此在这种情况下无效。