wxpython listctrlに整数を表示します
質問
5列のwxpython listctrlがあります。これらの4つの文字列には、最後の文字列には整数値があります。私はこれらを文字列(すなわち '4'、 '17'など)として保存しています。ただし、リスト内の特定の列を並べ替えるようにColumnSortermixinを追加したので、もちろん、整数列が数値ではなく字句的にソートされていることがわかりました。
これを修正する簡単な方法はありますか?
解決
カスタムソートを実行する最も堅牢な方法は使用することだと思います SORTITEMS() 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)
チェックしませんでしたが、これらの線に沿った何かは、整数を表す文字列であり、一部は整数ではない列がない限り、すべての列で機能するはずです。
所属していません StackOverflow