bonjour, j'ai un programme qui semble etre :ok
mais qui ne lance pas l'affichage (fenetre Tkinter avec option commande des switchs)
et aucun message d'erreur.
pourriez vou m'aider sur comment resoudre ce probleme?
IDLE 2.7

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
50
51
52
53
54
from Tkinter import *
from math import pi
 
class ChoixVibra(Frame):
    """Curseurs pour choisir fréquence, phase & amplitude d'une vibration"""
    def __init__(self, boss =None, coul ='red'):
        Frame.__init__(self)                                    # Constructeur de la classe parente
        # initialisation de quelques attributs d'instance :
        self.freq, self.phase, self.ampl, self.coul = 0, 0, 0, coul
        # variable d'état de la case à cocher :
        self.chk = IntVar()                                     # 'objet-variable' Tkinter
        Checkbutton(self, text='Afficher', variable=self.chk,
                    fg = self.coul, command = self.setCurve).pack(side=LEFT)
        # définition des trois widgets curseurs :
        Scale(self, length=150, orient=HORIZONTAL, sliderlength =25,
              label ='Fréquence (Hz) :', from_=1., to=9., tickinterval =2,
              resolution =0.25,
              showvalue =0, command = self.setFrequency).pack(side=LEFT)
        Scale(self, length=150, orient=HORIZONTAL, sliderlength =15,
              label = 'Phase (degrés) :', from_=-180, to=180, tickinterval =90,
              showvalue =0, command = self.setPhase).pack(side=LEFT)
        Scale(self, length=150, orient=HORIZONTAL, sliderlength =25,
              label ='Amplitude :', from_=1, to=9, tickinterval =2,
              showvalue =0, command =self.setAmplitude).pack(side=LEFT)
 
    def setCurve(self):
        self.event_generate('<Control-Z>')
 
    def setFrequency(self, f):
        self.freq = float(f)
        self.event_generate('<Control-Z>')
 
    def setPhase(self, p):
        pp = float(p)
        self.phase = pp*2*pi/360                                # conversion degrés -> radians
        self.event_generate('<Control-Z>')
 
    def setAmplitude(self, a):
        self.ampl = float(a)
        self.event_generate('<Control-Z>')
 
#### Code pour tester la classe : ####
 
if __name__ == '__main__':
    def afficherTout(event=None):
        lab.configure(text = '%s - %s - %s - %s' %
                      (fra.chk.get(), fra.freq, fra.phase, fra.ampl))
        root = Tk()
        fra = ChoixVibra(root,'navy')
        fra.pack(side = TOP)
        lab = Label(root, text ='test')
        lab.pack()
        root.bind('<Control-Z>', afficherTout)
        root.mainloop()