list.sort
메서드, sorted
함수는 선택적 key
매개 변수를 허용합니다. 함수의 반환 값은 비교 키로 사용됩니다.
트 리뷰 항목을 숫자로 변환하는 key
함수를 지정하면 문제가 해결됩니다.
예 :
try:
from tkinter import *
from tkinter import ttk
except ImportError:
from Tkinter import *
import ttk
def treeview_sort_column(tv, col, reverse):
l = [(tv.set(k, col), k) for k in tv.get_children('')]
l.sort(key=lambda t: int(t[0]), reverse=reverse)
# ^^^^^^^^^^^^^^^^^^^^^^^
for index, (val, k) in enumerate(l):
tv.move(k, '', index)
tv.heading(col,
command=lambda: treeview_sort_column(tv, col, not reverse))
root = Tk()
columns = ('number',)
treeview = ttk.Treeview(root, columns=columns, show='headings')
for t in ('1', '10', '11', '2', '3'):
treeview.insert('', END, values=(t,))
treeview.pack()
for col in columns:
treeview.heading(col, text=col,
command=lambda: treeview_sort_column(treeview, col, False))
mainloop()
나는 그것이 단순 할 것이라고 알고있었습니다. 고맙습니다! – rhowe