【发布时间】:2018-07-29 18:49:48
【问题描述】:
ttk.treeview.focus() 返回单行的 iid。树视图框允许您选择多行。如何获取所选行的 iid 列表?
【问题讨论】:
标签: python tkinter treeview focus ttk
ttk.treeview.focus() 返回单行的 iid。树视图框允许您选择多行。如何获取所选行的 iid 列表?
【问题讨论】:
标签: python tkinter treeview focus ttk
ttk.treeview.focus() 返回当前焦点项。这意味着最后选择的项目。您正在寻找的功能是ttk.treeview.selection()。这将返回所选项目的元组。
【讨论】:
使用ttk.treeview.selection()。
它给出了选定的项目。另请参阅其他带有 selection 前缀的 Treeview 方法,例如,
selection_add
selection_remove
selection_toggle
请看下面的例子:
import tkinter as tk
from tkinter import ttk, Tk
def insert(tree, value):
tree.insert('', tk.END, value, text=value)
root = Tk()
tree = ttk.Treeview(root)
insert(tree, '1')
insert(tree, '2')
insert(tree, '3')
tree.pack()
children = tree.get_children()
tree.selection_set(children)
tree.selection_toggle(children[1])
# uncomment line by line to see the change
#tree.selection_toggle(children)
#tree.selection_remove(children[1])
print(tree.selection())
root.mainloop()
【讨论】: