[New-bugs-announce] [issue46179] Delete selected item generate "<<TreeviewSelect>>" event or not in different version of tkinter or Python

Jason Yang report at bugs.python.org
Sun Dec 26 05:02:13 EST 2021


New submission from Jason Yang <jason990420 at outlook.com>:

In python(3.8.10)/tkinter(8.6.9), it won't generate "<<TreeviewSelect>>" event if we delete selected item of ttk.Treeview, but it will for python(3.9.9/3.10.1)/tkinter(8.6.12).

Check it just by clicking 'Delete Item 1' button in following demo code

```python
import sys
from random import randint
from datetime import datetime
import tkinter as tk
from tkinter import ttk

def button_callback():
    button.configure(state='disabled')
    treeview.delete(1)

def treeview_callback(event):
    print(datetime.now().strftime("%H:%M:%S"), "Treeview selection changed !")

print(f"Python version : {sys.version.split(' ')[0]}")
print(f"tkinter version: {tk.Tcl().eval('info patchlevel')}")

columns = ('President', 'Birthday')
data = [
    ('Ronald Reagan', 'February 6'),
    ('Abraham Lincoln', 'February 12'),
    ('George Washington', 'February 22'),
    ('Andrew Jackson', 'March 15'),
    ('Thomas Jefferson', 'April 13'),
]

root = tk.Tk()

treeview = ttk.Treeview(root, columns=columns, height=5, show='headings')
treeview.pack()
for column in columns:
    treeview.heading(column, text=column)
    treeview.column(column, width=150)
for i, row in enumerate(data):
    treeview.insert('', i, iid=i, text=str(i), values=row)
treeview.selection_set(1)

button = tk.Button(root, text='Delete Item 1', command=button_callback)
button.pack()

treeview.bind("<<TreeviewSelect>>", treeview_callback)

root.mainloop()
```

```python
d:\>python test3.py
Python version : 3.8.10
tkinter version: 8.6.9
17:57:43 Treeview selection changed !

d:\>python test3.py
Python version : 3.9.9
tkinter version: 8.6.12
17:58:10 Treeview selection changed !
17:58:11 Treeview selection changed !

d:\>python test3.py
Python version : 3.10.1
tkinter version: 8.6.12
18:01:10 Treeview selection changed !
18:01:12 Treeview selection changed !
```

----------
components: Tkinter
messages: 409185
nosy: Jason990420
priority: normal
severity: normal
status: open
title: Delete selected item generate "<<TreeviewSelect>>" event or not in different version of tkinter or Python
type: behavior
versions: Python 3.10, Python 3.8, Python 3.9

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue46179>
_______________________________________


More information about the New-bugs-announce mailing list