Tuple Treeview Sort as String (неправильный порядок) - PullRequest
0 голосов
/ 02 апреля 2020

enter image description here

Хорошо, после нескольких часов возни я не могу исправить эту ошибку. Я попытался изменить мои типы на целые, с ключом = operator.itemgetter (0), и я также попытался с другим исправлением, например, используя iteration_utilities: chained, functools -> Без успеха

Возвращает список из кортежей ex: [('27958', 'I008'), ('28497', 'I00 C'), ('28652', 'I018'), ('28653', 'I001'), (' 28713 ',' I009 '), (' 29262 ',' I00A '), (' 29448 ',' I00B '), (' 9234 ',' I00D '), (' 9250 ',' I00E ')]
Как видите, числа, начинающиеся с 9, в конце, я предполагаю, потому что он обрабатывает его как строку, несмотря ни на что.

Я использую основную c функцию 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))

1 Ответ

0 голосов
/ 02 апреля 2020

Спасибо (только что узнал), что это решило проблему. Он решил все мои проблемы мгновенно и с простотой ... намного проще, чем все, что я пробовал!

Для тех, кто ищет решение

l.sort (ключ = лямбда-т : int (t [0]), обратный = обратный)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...