Tk Treeview Focus()。如何获得多条选定线?

sfb*_*sfb 1 python treeview focus tkinter ttk

ttk.treeview.focus()返回单行的iid。树状视图框允许您选择多行。如何获得所选行的iid列表?

pro*_*ico 6

使用ttk.treeview.selection()

它给出了选定的项目。另请参阅其他带有前缀的 Treeview 方法selection,例如,

selection_add
selection_remove
selection_toggle
Run Code Online (Sandbox Code Playgroud)

请参阅下面的示例:

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()
Run Code Online (Sandbox Code Playgroud)


ViG*_*ViG 5

ttk.treeview.focus()返回当前的焦点项目。这意味着最后选择的项目。您正在寻找的功能是ttk.treeview.selection()。这将返回所选项目的元组。