在wxpython列表中显示整数Ctrl

在wxpython列表中显示整数Ctrl,python,wxpython,listctrl,Python,Wxpython,Listctrl,我有一个wxPython ListCtrl,有五列。其中四个包含字符串,最后一个包含整数值。我一直将它们存储为字符串(即“4”、“17”等)。然而,现在我添加了一个ColumnSorterMixin,让我可以对列表中的特定列进行排序,当然,我发现整数列是按词汇排序的,而不是按数字排序的 有一种简单的方法可以解决这个问题吗?我认为进行自定义排序最可靠的方法是使用wx.ListCtrl中的函数。请注意,您必须为每个项目提供项目数据(使用SetItemData()) 只需提供您自己的回调,比如: de

我有一个wxPython ListCtrl,有五列。其中四个包含字符串,最后一个包含整数值。我一直将它们存储为字符串(即“4”、“17”等)。然而,现在我添加了一个ColumnSorterMixin,让我可以对列表中的特定列进行排序,当然,我发现整数列是按词汇排序的,而不是按数字排序的


有一种简单的方法可以解决这个问题吗?

我认为进行自定义排序最可靠的方法是使用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)
没有检查它,但是沿着这些行的某些内容应该适用于所有列,除非您有一个列,其中一些值是表示整数的字符串,而另一些值不是