【问题标题】:Tk Treeview Focus(). How do I Get Multiple Selected Lines?Tk 树视图焦点()。如何获得多条选定的行?
【发布时间】:2018-07-29 18:49:48
【问题描述】:

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

【问题讨论】:

    标签: python tkinter treeview focus ttk


    【解决方案1】:

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

    【讨论】:

    • 它实际上返回的是一个元组,而不是一个列表。
    【解决方案2】:

    使用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()
    

    【讨论】:

    • 谢谢! - 我的文档中没有那个方法。
    猜你喜欢
    • 2021-06-20
    • 1970-01-01
    • 1970-01-01
    • 2012-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-04
    相关资源
    最近更新 更多