有没有办法通过单击列来对 Tk TreeView 中的记录进行排序?
我在 Tkinter 模块中显示了一个 Treeview 数据库表。该数据库链接到数据来源的 SQLite 数据库。
最佳答案
@Mayur 的想法是正确的,只是错过了 treeview_sort_column
的定义。我可以保证这项技术,尽管我实现调用的方式与命令选项不同。您可以通过this link查看也是如此(尽管它将来可能会消亡)
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))
[...]
关于python - Tkinter Treeview 列排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46618459/