Treeview Tuple排序为字符串(错误顺序)

问题描述 投票:0回答:1

enter image description here

[好吧,经过数小时的摆弄之后,我似乎无法修复此错误。我已经尝试使用key = operator.itemgetter(0)将类型更改为整数,并且还尝试了其他修复方法,例如使用迭代功能:chained,functools->没有成功

它返回一个元组列表,例如:[('27958','I008'),('28497','I00C'),('28652','I018'),('28653','I001'),('28713','I009') ,('29262','I00A'),('29448','I00B'),('9234','I00D'),('9250','I00E')]]如您所见,我假设数字以9开头,因为无论如何它都将其视为字符串。

我使用的是经常谈论的基本Treeview_sort_column函数,没什么特别的。

def treeview_sort_column(t1, col, reverse):
    l = [(t1.set(k, int(col)), k) for k in t1.get_children('')]
    l.sort(reverse=reverse) 
    print(l)

    for index, (val, k) in enumerate(l):
        t1.move(k, '', index)

    t1.heading(col, command=lambda _col=col: treeview_sort_column(t1, _col, not reverse))

for col in columns:
    t1.heading(col, text=col,command=lambda _col=col: treeview_sort_column(t1, _col, False))
python python-3.x tkinter treeview
1个回答
0
投票

谢谢(刚刚了解了)它确实解决了问题。它即时,简单地解决了我所有的问题……比我尝试过的要容易得多!

对于那些寻求解决方案的人

l.sort(key = lambda t:int(t [0]),reverse = reverse)

© www.soinside.com 2019 - 2024. All rights reserved.