[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 Python-bugs-list
mailing list