IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Tkinter Python Discussion :

Mon TK ne me répond pas!


Sujet :

Tkinter Python

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 14
    Points : 11
    Points
    11
    Par défaut Mon TK ne me répond pas!
    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

  2. #2
    Membre expérimenté Avatar de pacificator
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 074
    Points : 1 728
    Points
    1 728
    Par défaut
    Tu as un problème d'indentation après
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if __name__ == '__main__':
    et boos.mainloop() est incorrecte.

  3. #3
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    mince, boos.mainloop() est un truc que j'ai rajouté vite fait pour essayer de résoudre le problème... mais j'ai oublié de l'enlève là..

    J'ai IDDLE et quand je fait <Enter> après _main_: , il y a une indentation automatique qui est celle du code au-dessus.

  4. #4
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    en faite, à cause de ma naiveté... j'ai cru que ce que j'avais recopié était bon mais non, j'ai raté le recopiage...

    merci quand méme d'avoir essayé de m'aidé.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Mon bouton ne réponds pas au clique
    Par aljessy dans le forum Langage
    Réponses: 10
    Dernier message: 19/03/2015, 14h28
  2. Mon sous-programme ne répond pas lors de l'appel
    Par Stagiette dans le forum C#
    Réponses: 3
    Dernier message: 28/01/2010, 11h21
  3. validateJarFile - Mon projet Web ne répond pas
    Par remyli dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 15/04/2009, 18h42
  4. [JApplet]mon applet ne s'affiche pas.
    Par yannick56 dans le forum Applets
    Réponses: 6
    Dernier message: 27/05/2004, 18h05
  5. Mon script cron n'est pas pris en compte
    Par tomnie dans le forum Linux
    Réponses: 11
    Dernier message: 31/03/2004, 12h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo