Bonjour,

Le but est d'obtenir un menu contextuel uniquement sur un Item sélectionné dans un treeview.

Mon code, une fois le item sélectionnée, me donne accès au menu contextuel dans le Treeview

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
 
	def Supprimer_Recette():
		Rec_list.event_generate('<<Supprimer_Recette>>')
 
	# Création du menu contextuel - widget Rec_list
	MenuContextuel = Menu(Rec_list, tearoff=0)
	MenuContextuel.add_command(label="Supprimer", command=Supprimer_Recette)
 
	def Delete_Recette(event, curItem, Nom_Rec):
		global Liste
		Liste = []
 
		try:
			# Affiche le menu contextuel
			MenuContextuel.post(event.x_root, event.y_root)
			curItem = Rec_list.focus()
		finally:
			# make sure to release the grab (Tk 8.0a1 only)
			MenuContextuel.grab_release()
 
		curItem = Rec_list.focus()
		Liste = Rec_list.item(curItem)["values"]
		# print("TreeView - Rec_list.item(curItem)[", "values", "][0]               ", Rec_list.item(curItem)["values"][0])  # Affiche Nom recette depuis Treeview -- Exemple : Recette_2020.05_8_30.5_NoName
		# print("Nom_Rec : 																  ", Nom_Rec.get())
 
		# Suppression Nom Recette dans DB Recettes
		Recette_DB_BackEnd.supRec(Nom_Rec.get())
		# Vide Widget Rec_list
		for u in Rec_list.get_children ():
			Rec_list.delete(u)
		# Supprime toutes frames générée
		Clear_frameSelected()
		# Affiche nouvelle Etat BD Recettes
		DisplayData_Recette()
 
       def selectionItem_Recette(a):
       Rec_list.bind('<ButtonRelease-3>', lambda event, curItem=curItem, Non_Rec=Rec_list.item(curItem)["values"][0]: Delete_Recette(event, curItem, Nom_Rec))
le Item sélectionné est --> Rec_list.item(curItem)["values"][0]
ça ne fonctionne pas avec --> curItem = Rec_list.focus()

comment puis y remédier? merci de votre temps