Bonjour à toute la troupe !

J'ai essayé de compiler un peu toutes les réponses trouvées sur le sujet, et de les adapter, mais impossible de faire fonctionner ma soluce .

Voici le contexte.

Je suis en train de créer une classe ApplicationDes pour faire un lancer de dés dans une fenêtre. Un curseur permet de choisir le nombre de dés à lancer, et un bouton doit faire le lancer en question. Cette appli est encapsulée dans une classe, donc.

Je bute sur le pb suivant : comment récupérer la valeur du curseur pour qu'elle s'affiche dans le libellé du bouton ?

Je pense que mon code a la bonne structure, et qu'il s'agit d'un bête pb de syntaxe !

Voici la classe en question :

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
 
#_*_ coding: iso-8859-1 _*_
from Tkinter import* 
 
class ApplicationDes(Tk) :
 
    #constructeur
    def __init__(self,parent):
        Tk.__init__(self,parent)
        self.parent=parent
        self.initialize()
 
    #fonction qui modifie le texte de bouton en fonction de la valeur du curseur
    def affiche(txt):
        valeur=curseur.get()
        bouton.config(text ="Lancez "+str(valeur)+" dés !")   
 
    #initialisation des widgets
    def initialize(self) :
        self.grid()
        #le curseur pour le nombre de dés
        self.curseur=Scale(self, length=500, from_=1, to=20, orient=HORIZONTAL, label ='Nombre de dés à lancer',troughcolor ='dark grey',
                    sliderlength =20, tickinterval =1,command=affiche)
        self.curseur.grid(column=0,row=0,sticky='EW')
 
        #le bouton pour lancer les dés
        bouton=Button(self,text="Lancez les dés !")
        bouton.grid(column=0,row=1)
        #auto redimensionnement de la fenêtre
        self.resizable(True,True)
 
#création d'une application
if __name__=="__main__":
    app = ApplicationDes(None)
    app.title("Les dés sont jetés !")
    app.mainloop()
Et voici le message d'erreur obtenu :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
Traceback (most recent call last):
  File "C:\Python24\Scripts\des\applicationDes.py", line 41, in -toplevel-
    app = ApplicationDes(None)
  File "C:\Python24\Scripts\des\applicationDes.py", line 14, in __init__
    self.initialize()
  File "C:\Python24\Scripts\des\applicationDes.py", line 26, in initialize
    sliderlength =20, tickinterval =1,command=affiche)
NameError: global name 'affiche' is not defined
Visiblement, il ne veut pas reconnaître affiche, mais alors là, pourquoi donc ?

Merci d'avance pour votre aide, et toutes mes excuses si c'est marqué noir sur blanc quelque part !

Gram'