有没有一种方法来检测是否按下了树视图的列标题?

时间:2019-05-13 16:09:49

标签: python tkinter ttk

我希望根据用户单击的列标题来排序树视图的内容。

我已经尝试使用treeview虚拟事件,但是即使事件具有单击和悬停动画,按标题也不会触发事件。

1 个答案:

答案 0 :(得分:2)

我实际上已经找到了解决方案。分配列标题时,命令会出现乱码,因此代码如下所示:

import tkinter as tk      # Tk
import tkinter.ttk as tkk # treeview

root = tk.Tk()

# create the Treeview
tv = ttk.Treeview(root)
tv['columns'] = ('a', 'b', 'c')
tv['show'] = 'headings' #remove "#0" column

# Add column headers and Click commands
tv.heading('a', text='header a', command=lambda: print('a is pressed!')
tv.heading('b', text='header b', command=lambda: print('b is pressed!')
tv.heading('c', text='header c', command=lambda: print('c is pressed!')