Affichage des articles dont le libellé est treeview row. Afficher tous les articles
Affichage des articles dont le libellé est treeview row. Afficher tous les articles

Python Tkinter TreeView Remove Row

 How To Delete Selected Row From Tkinter Treeview In Python

Python Tkinter TreeView Remove Row


import tkinter as tk
from tkinter import *
from tkinter import ttk


root = Tk()
frame = tk.Frame(root, bg='#3498db')
frame_btns = tk.Frame(frame, bg='#3498db')

data = [
[1,"AAA","BBB","[email protected]",17],
[3,"EEE","FFF","[email protected]",91],
[4,"GGG","HHH","[email protected]",47],
[7,"MMM","NNN","[email protected]",25],
[8,"PPP","QQQ","[email protected]",43],
[9,"RRR","SSS","[email protected]",94],
]

label_id = tk.Label(frame, text='ID:', font=('verdana',14), bg='#3498db')
entry_id = tk.Entry(frame, font=('verdana',14))

label_fname = tk.Label(frame, text='First Name:', font=('verdana',14), bg='#3498db')
entry_fname = tk.Entry(frame, font=('verdana',14))

label_lname = tk.Label(frame, text='Last Name:', font=('verdana',14), bg='#3498db')
entry_lname = tk.Entry(frame, font=('verdana',14))

label_email = tk.Label(frame, text='Email:', font=('verdana',14), bg='#3498db')
entry_email = tk.Entry(frame, font=('verdana',14))

label_age = tk.Label(frame, text='Age:', font=('verdana',14), bg='#3498db')
entry_age = tk.Entry(frame, font=('verdana',14))

btn_remove = tk.Button(frame, text='Remove', font=('verdana',14), bg='#f39c12',
fg='#ffffff', width=10)

trv = ttk.Treeview(frame, columns=(1,2,3,4,5), show='headings')
trv.column(1, anchor='center', width=100)
trv.column(2, anchor='center', width=100)
trv.column(3, anchor='center', width=100)
trv.column(4, anchor='center', width=100)
trv.column(5, anchor='center', width=100)

trv.heading(1, text='ID')
trv.heading(2, text='First Name')
trv.heading(3, text='Last Name')
trv.heading(4, text='Email')
trv.heading(5, text='Age')

# create a function to display data in treeview
def displayData():
for row in data:
trv.insert('',END, values=row)


displayData()


# create a function to display the selected row from treeview
def displaySelectedItem(a):

# clear entries
entry_id.delete(0,END)
entry_fname.delete(0,END)
entry_lname.delete(0,END)
entry_email.delete(0,END)
entry_age.delete(0,END)

selectedItem = trv.selection()[0]
entry_id.insert(0, trv.item(selectedItem)['values'][0])
entry_fname.insert(0, trv.item(selectedItem)['values'][1])
entry_lname.insert(0, trv.item(selectedItem)['values'][2])
entry_email.insert(0, trv.item(selectedItem)['values'][3])
entry_age.insert(0, trv.item(selectedItem)['values'][4])


trv.bind("<<TreeviewSelect>>", displaySelectedItem)




def remove():
try:
selectedItem = trv.selection()[0]
trv.delete(selectedItem)
except:
print('Error')


btn_remove['command'] = remove


frame.grid(row=0, column=0)

label_id.grid(row=0, column=0, sticky='e')
entry_id.grid(row=0, column=1)

trv.grid(row=0, column=2, rowspan=5, padx=10, pady=10)

label_fname.grid(row=1, column=0, sticky='e')
entry_fname.grid(row=1, column=1)

label_lname.grid(row=2, column=0, sticky='e')
entry_lname.grid(row=2, column=1)

label_email.grid(row=3, column=0, sticky='e')
entry_email.grid(row=3, column=1)

label_age.grid(row=4, column=0, sticky='e')
entry_age.grid(row=4, column=1)


btn_remove.grid(row=5, column=0, columnspan=2, sticky='nsew', padx=(10,0), pady=10)


root.mainloop()

OUTPUT:

Python Tkinter TreeView Remove Row
Python Tkinter TreeView Remove Selected Row - Before

Python Tkinter TreeView Delete Row
Python Tkinter TreeView Remove Row - After






Python Tkinter TreeView Get Selected Row

How To Get Selected Item Values From Tkinter Treeview

Python Tkinter TreeView Get Selected Row


import tkinter as tk
from tkinter import *
from tkinter import ttk


root = Tk()
frame = tk.Frame(root, bg='#3498db')
frame_btns = tk.Frame(frame, bg='#3498db')

data = [
[1,"AAA","BBB","[email protected]",17],
[3,"EEE","FFF","[email protected]",91],
[4,"GGG","HHH","[email protected]",47],
[7,"MMM","NNN","[email protected]",25],
[8,"PPP","QQQ","[email protected]",43],
[9,"RRR","SSS","[email protected]",94],
]

label_id = tk.Label(frame, text='ID:', font=('verdana',14), bg='#3498db')
entry_id = tk.Entry(frame, font=('verdana',14))

label_fname = tk.Label(frame, text='First Name:', font=('verdana',14), bg='#3498db')
entry_fname = tk.Entry(frame, font=('verdana',14))

label_lname = tk.Label(frame, text='Last Name:', font=('verdana',14), bg='#3498db')
entry_lname = tk.Entry(frame, font=('verdana',14))

label_email = tk.Label(frame, text='Email:', font=('verdana',14), bg='#3498db')
entry_email = tk.Entry(frame, font=('verdana',14))

label_age = tk.Label(frame, text='Age:', font=('verdana',14), bg='#3498db')
entry_age = tk.Entry(frame, font=('verdana',14))

btn_add = tk.Button(frame_btns, text='Add', font=('verdana',14), bg='#f39c12',
fg='#ffffff', width=10)
btn_edit = tk.Button(frame_btns, text='Edit', font=('verdana',14), bg='#f39c12',
fg='#ffffff', width=10)
btn_remove = tk.Button(frame_btns, text='Remove', font=('verdana',14), bg='#f39c12',
fg='#ffffff', width=10)

trv = ttk.Treeview(frame, columns=(1,2,3,4,5), show='headings')
trv.column(1, anchor='center', width=100)
trv.column(2, anchor='center', width=100)
trv.column(3, anchor='center', width=100)
trv.column(4, anchor='center', width=100)
trv.column(5, anchor='center', width=100)

trv.heading(1, text='ID')
trv.heading(2, text='First Name')
trv.heading(3, text='Last Name')
trv.heading(4, text='Email')
trv.heading(5, text='Age')

# create a function to display data in treeview
def displayData():
for row in data:
trv.insert('',END, values=row)


displayData()


# create a function to display the selected row from treeview
def displaySelectedItem(a):

# clear entries
entry_id.delete(0,END)
entry_fname.delete(0,END)
entry_lname.delete(0,END)
entry_email.delete(0,END)
entry_age.delete(0,END)

selectedItem = trv.selection()[0]
entry_id.insert(0, trv.item(selectedItem)['values'][0])
entry_fname.insert(0, trv.item(selectedItem)['values'][1])
entry_lname.insert(0, trv.item(selectedItem)['values'][2])
entry_email.insert(0, trv.item(selectedItem)['values'][3])
entry_age.insert(0, trv.item(selectedItem)['values'][4])


trv.bind("<<TreeviewSelect>>", displaySelectedItem)


frame.grid(row=0, column=0)

label_id.grid(row=0, column=0, sticky='e')
entry_id.grid(row=0, column=1)

trv.grid(row=0, column=2, rowspan=5, padx=10, pady=10)

label_fname.grid(row=1, column=0, sticky='e')
entry_fname.grid(row=1, column=1)

label_lname.grid(row=2, column=0, sticky='e')
entry_lname.grid(row=2, column=1)

label_email.grid(row=3, column=0, sticky='e')
entry_email.grid(row=3, column=1)

label_age.grid(row=4, column=0, sticky='e')
entry_age.grid(row=4, column=1)



root.mainloop()

OUTPUT:

Python Tkinter TreeView Get Selected Row Values
Python Tkinter TreeView Get Selected Row Data









Python Tkinter Populate Treeview From List

How To Populate a Tkinter TreeView From a List Using Python

Python Tkinter Populate Treeview From List


import tkinter as tk
from tkinter import *
from tkinter import ttk


root = Tk()


data = [
[1,"AAA","BBB","[email protected]",17],
[3,"EEE","FFF","[email protected]",91],
[4,"GGG","HHH","[email protected]",47],
[7,"MMM","NNN","[email protected]",25],
[8,"PPP","QQQ","[email protected]",43],
[9,"RRR","SSS","[email protected]",94],
]


trv = ttk.Treeview(root, columns=(1,2,3,4,5), show='headings')
trv.column(1, anchor='center', width=100)
trv.column(2, anchor='center', width=100)
trv.column(3, anchor='center', width=100)
trv.column(4, anchor='center', width=100)
trv.column(5, anchor='center', width=100)

trv.heading(1, text='ID')
trv.heading(2, text='First Name')
trv.heading(3, text='Last Name')
trv.heading(4, text='Email')
trv.heading(5, text='Age')

# create a function to display data in treeview
def displayData():
for row in data:
trv.insert('',END, values=row)


displayData()


trv.grid(row=0, column=0, padx=10, pady=10)


root.mainloop()

OUTPUT:

Python Tkinter Populate Treeview
Python Tkinter Populating Treeview