ttk.Treeview – Bind to double-click

It’s possible to get the row item that was double-clicked in a treeview widget.

img

# First, setup the double-click binding for your treeview widget.
my_treeview.bind("<Double-1>", on_treeview_double_clicked)

Function to run when an item is double-clicked

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
def on_treeview_double_clicked(event):

    # Get all selected items
    selected_items = my_treeview.selection()

    # Make sure a row is selected
    if not selected_items:
        return
    else:
        # Get the first selected item
        item_iid = selected_items[0]

        # Get a dictionary of details for the selected row.
        item_details = my_treeview.item(item_iid)

        # Get displayable text from the row
        item_text = item_details.get("text")
        item_values = item_details.get("values")

        print(item_text, item_values)