我一直在寻找一段时间,但我还没有找到我认为存在的魔法。
在-1处插入不起作用(0是顶部)我没有尝试在maxint
插入,因为long
s wx返回(很可能)没有订购,我得出结论因为如果我在另外两个之间插入一个项目,那么所有long
给出的所有内容都没有神奇的方法可以增加1.所以我一直认为这些是一些无序的ID,它们可以理解为
我并不总是按顺序插入,所以保持最后生成的不会工作,如何在wx中插入一些内容到listctrl的底部?
我也用wxPython标记了这一点,因为如果你知道另一个你知道另一个。
我对long
的理解是否正确?我从来没有手动搞砸过它们。我的抽象合同的一部分 - 不要触摸它让我跟踪东西的东西,作为回报,它将起作用。
答案 0 :(得分:2)
如果我理解正确,你正在寻找:
list.InsertStringItem(list.GetItemCount(), "...")
list.Append(["...", "..."])
如本例所示:
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()
此外,插入返回插入项目的位置,因此在这种情况下无效。