簡體   English   中英

Tkinter Treeview列排序

[英]Tkinter Treeview Column Sorting

是否可以通過單擊列在Tk樹視圖中對記錄進行排序?

我在Tkinter模塊中顯示了Treeview數據庫表。 該數據庫鏈接到數據來源的SQLite數據庫。

@Mayur有一個正確的想法,只是錯過了包括treeview_sort_column的定義。 我可以保證這項技術,盡管我實現呼叫的方式與命令選項不同。 您也可以在此鏈接上查看它(盡管將來可能會消失)

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))
[...]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM