Bonjour,

J'apprenais tranquillement le python (avec python_notes) quand, arrivé devant un code pas très compliqué, en l'exécutant, il ne voulut pas s'afficher, j'ai continué, recommencé, cherché, mais rien à faire...,alors, voilà ce code qui me pose tant de problèmes (je peux pas le passer car on le réutilise après):

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
 
# -*- coding: cp1252 -*-
 
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 3 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)
      boos.mainloop()
 
   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()
Merci d'avance...

edit: dans l'exercice, il était à python 2.0 et moi je suis à 2.5