def treeview_sort_column(tv, col, reverse):
l = [(tv.set(k, col), k) for k in tv.get_children('')]
l.sort(reverse=reverse)
# rearrange items in sorted positions
for index, (val, k) in enumerate(l):
tv.move(k, '', index)
# reverse sort next time
tv.heading(col, command=lambda: \
treeview_sort_column(tv, col, not reverse))
[...]
columns = ('name', 'age')
treeview = ttk.TreeView(root, columns=columns, show='headings')
for col in columns:
treeview.heading(col, text=col, command=lambda: \
treeview_sort_column(treeview, col, False))
[...]
来自
#tcl
的patthoyts指出TreeView Tk演示程序具有排序功能。以下是与之相当的Python:这在python3中不起作用。由于变量是通过引用传递的,所以所有lambda最终都引用了列中相同的最后一个元素。
这对我有好处:
相关问题 更多 >
编程相关推荐