Bonsoir,

J'essaie de faire un script qui fait apparaître ou disparaître un cercle en appuyant sur un bouton "Interrupteur" - mais ceci en m'imposant d'utiliser 2 classes dont une ne fait que créer ou effacer ce cercle.

Malgré de multiples tentatives, je n'arrive pas à effacer le cercle après l'avoir créé.

Pourriez-vous me dire où se situe mon erreur.

En vous remerciant.



Voici le script:


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
41
42
43
44
45
46
47
48
49
from tkinter import *
 
class Application(Frame):
 
    def __init__(self):
 
        #création d'une variable booléenne
        self.bool = 0
 
        # création de l'encart contenant le bouton
        Frame.__init__(self)
        self.pack(side=BOTTOM)
 
        # création du canevas
        self.can = Canvas(fen, width=400, height=400, bg='white')
        self.can.pack()
 
        # création d'un bouton
        Button(self, text='Interrupteur', command=self.interrupteur).pack(side=LEFT)
 
        # création d'un objet Cercle
        self.crcl = Cercle()
 
 
    def interrupteur(self):
        self.crcl.interrupt(self.can, self.bool)
        if self.bool:
            self.bool=0
        else:
            self.bool=1
 
 
class Cercle(object):
 
    def __init__(self):
        self.boul = 0
 
 
    def interrupt(self, cnv, boul):
        if boul:
            cnv.delete(self)
        else:
            cnv.create_oval(100, 100, 150, 150)
 
 
    # ---------------- Programme principal ------------------------
 
fen = Tk()
Application().mainloop()
Désolé mais je ne sais pas comment indenter le script