Bonjour, je veux faire un système pour ouvrir un fichier dans un canvas, ça ça marche.
Mais je n'arrive pas à créer un bouton pour supprimer le contenu du canvas sans supprimer le canvas en entier.
Voici mon code, par quoi devrais-je faire pour remplacer la commande canvas_image.destroy et ainsi ne pas détruire le canvas ?

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
38
39
40
# -*- coding:utf-8 -*-
 
from tkinter import *
from tkinter.filedialog import *
from PIL import Image
from PIL import ImageTk
 
 
#----- CALLBACK -----#
def quitter():
    fen.destroy()
 
def callback():
    print('dring')
 
def ouvrir_fichier():
    nom_fichier = askopenfilename()
    pil_image = Image.open(nom_fichier)
 
    tk_image = ImageTk.PhotoImage(pil_image)
    img = canvas_image.create_image(0, 0, anchor=NW, image=tk_image)
    canvas_image.image=tk_image
 
#----- FENTERE -----#
fen = Tk()
 
canvas_image = Canvas(fen, width=500, height=500)
canvas_image.pack(side=LEFT)
 
#Menu
menu_barre = Menu(fen)
fen.config(menu=menu_barre)
menu_fichier = Menu(menu_barre, tearoff=0)
menu_barre.add_cascade(label="Fichier", menu=menu_fichier)
menu_fichier.add_command(label="Ouvrir", command=ouvrir_fichier)
menu_fichier.add_command(label="Quitter", command=fen.destroy)
menu_barre.add_command(label="Effacer", command=canvas_image.destroy)
 
 
fen.mainloop()