我有一个带有五列的wxpython listctrl。其中四个保持字符串,最后一个具有整数值。我一直将它们存储为字符串(即4','17'等)。但是,既然我已经添加了一个列Sortermixin来让我对列表中的特定列进行排序,那么我发现,整数列是通过词汇而不是数值对整数进行排序的。

是否有一种简单的方法来解决此问题?

有帮助吗?

解决方案

我认为最强大的自定义分类方式是使用 tortItems() wx.listctrl中的功能。请注意,您必须为每个项目提供项目数据(使用 SetItemData())

只需提供自己的回调,说:

def sortColumn(item1, item2):
    try: 
        i1 = int(item1)
        i2 = int(item2)
    except ValueError:
        return cmp(item1, item2)
    else:
        return cmp(i1, i2)

没有检查它,但是沿着这些行的某些列应该适用于所有列,除非您有一列,其中某些值是代表整数的字符串,而有些则不是。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top