Bonjour,

J'ai créer un bouton qui me permet d'ouvrir une fenêtre de confirmation, seulement si je clique une deuxième fois sur le bouton une fenêtre supplémentaire s'ouvre.
Comment faire pour que ma fenêtre soit "unique" (ce n'est peu-être pas le mot juste).
Petite demande supplémentaire je cherche une documentation sur les objets tkinter avec un descriptif des méthodes de chaque objets.

voici mon code :
Code python : 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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
 
# Suivant que l'on exécute ce script sous Python 3 ou Python 2,
# on utilisera le module Tkinter correspondant :
try:
    from tkinter import *      # module Tkinter pour Python 3
except:
    from Tkinter import *      # module Tkinter pour Python 2
 
class FenValid(Toplevel):
    # Execute la commande en paramètre avec comme argument un text de valeur : BP1 ou BP2 ou none selon le bouton appuyé
 
    def sortie(self, event =None):
        self.destroy ()      
        # Exécuter la commande indiquée, avec l'argument-item encodé tel quel :
        self.command(self.item)
 
    def validationBP (self):
        self.item='BP1'
        self.sortie()
 
    def annulationBP (self):
        self.item='BP2'
        self.sortie()
 
    "Fenêtre satellite contenant deux boutons"
    def __init__(self,texte,labelBP1,labelBP2, command ='', **Arguments):
        Toplevel.__init__(self, **Arguments)
        self.command =command        # fonction à invoquer après clic ou <enter>
        self.item='none'
        self.boutonBP1= Button(self,text=labelBP1,command=self.validationBP)
        self.boutonBP1.grid(row=2,column=1,padx=10,pady=10)        
        self.boutonBP2= Button(self,text=labelBP2,command=self.annulationBP)
        self.boutonBP2.grid(row=2,column=2,padx=10,pady=10)
        chaine = Label(self)
        chaine.grid(row=1,column=1,padx=10,pady=10,columnspan=2)
        chaine.configure (text = texte)
 
def shoot(event):
    print ('-- Souris  x='+str(event.x)+'  y='+str(event.y))
 
# ------------------------ MAIN --------------------------------        
 
def changeCoul(col):
    fen.configure(background = col)
 
def changeLabel():
    lab.configure(text = combo.get())
 
def fermeture(rep):
    if rep=='BP1':
        fen.destroy()
 
def rien(rep):
    Print('rien')
 
def validationFermeture():
    fenValidFerm= FenValid (texte='Le programme est-t-il terminé ? ',labelBP1='OUI',labelBP2='NON',command = fermeture)
 
fen = Tk()
fen.overrideredirect(1) 
largeur, hauteur = (500,250)
 
canevas = Canvas(fen,bg='dark grey',height=hauteur,width=largeur)
canevas.grid(row=2,column=1,padx=10,pady=10,rowspan=6,columnspan=9)                    
canevas.create_polygon (0,0,largeur,0,largeur,hauteur,0,hauteur,fill='dark grey',outline='White') #pourtour
canevas.bind("<Button-1>", shoot)
 
boutonFermeture= Button(text='Fermeture',command=validationFermeture)
boutonFermeture.grid(row=9,column=1,padx=10,pady=10,columnspan=3)        
 
fen.mainloop()

Par avance merci