Partage
  • Partager sur Facebook
  • Partager sur Twitter

Suite projet SIN STI2D

    1 avril 2015 à 11:44:04

    Bonjour , 

    Oui c'est encore moi

    Donc cette fois ci j'ai fais un decompte qui ce lance puis lance le chronomètre, le problème et que ceci ne s'affiche pas sur tkinter pourrais vous m'aider a mettre le decomte seulement sur tkinter.

    voici mes lignes de code:

    #!/usr/bin/env python3
    # -*- coding: utf-8 -*-
     
    from tkinter import *
    import time 
    from functools import partial
    
    class Chronometre(Frame):  # definition de la class'Chronomètre' dans Frame                                                            
        def __init__(self, parent=None, **kw):    # definition initiale de la class   
            Frame.__init__(self, parent, kw)
            self._start = 0.0      
            self._elapsedtime = 0.0
            self._running = 0
            self.timestr = StringVar()             
            self.makeWidgets()    
       
        def makeWidgets(self): #definition pour afficher le temp                       
            l = Label(self, textvariable=self.timestr)
            self._setTime(self._elapsedtime)
            l.pack(fill=X, expand=NO, pady=10, padx=10)
       
        def _update(self): # definition du reset
            self._elapsedtime = time.time() - self._start
            self._setTime(self._elapsedtime)
            self._timer = self.after(50, self._update)
       
        def _setTime(self, elap): #définition du temps en minutes/secondes/millisecondes
            minutes = int(elap/60)
            seconds = int(elap - minutes*60.0)
            hseconds = int((elap - minutes*60.0 - seconds)*100)              
            self.timestr.set('%02d:%02d:%03d' % (minutes, seconds, hseconds))
       
        def Start(self, event=None): #lancement du chrono s'il est en arrêt
            
            if not self._running:          
                self._start = time.time() - self._elapsedtime
                self._update()
                self._running = 1      
       
        def Stop(self): # arrêt du chrono s'il est en marche                                  
            if self._running:
                self.after_cancel(self._timer)          
                self._elapsedtime = time.time() - self._start  
                self._setTime(self._elapsedtime)
                self._running = 0
       
        def Reset(self): # remise au zéro du chrono                               
            self._start = time.time()       
            self._elapsedtime = 0.0  
            self._setTime(self._elapsedtime)
       
        def get(self) :
            return self._running
       
       
    def masw(Event,sw):
        if  sw.get() :
            sw.Stop
            print ('stop')
        else:
            sw.Start
            print ('start')
      
    def masv(Event,sv):
        if  sv.get() :
            sv.Stop
            print ('stop')
        else:
            sv.Start
            print ('start')
    
              
    def start_chronos(chronos, event):
        i = 6
    
        while (i > 1):  
            i = (i -1)  
            print (i)
            time.sleep(1)  
    
        for chrono in chronos:
            chrono.Start()
    
    def reset_chronos(chronos, event):
        for chrono in chronos:
            chrono.Reset()
    
    def stop_chrono_gauche(chrono, event):
        chrono.Stop()
    
    def stop_chrono_droit(chrono, event):
        chrono.Stop()
       
    def main(): # definition de la fenetre de tkinter
        root = Tk()
        root.title('projet 2014-2015')
        sw = Chronometre(root)
        sw.pack(side=LEFT,padx=30,pady=30)
        sv = Chronometre(root)
        sv.pack(side=RIGHT,padx=30,pady=30)
    
        countdown = Label(root, text="A vos marques!")
        countdown.pack()
    
        texte=Label(root, text="Arriver de la course")
        texte['fg']='blue'  # Création du texte "Hello World" de couleur noire
        texte.pack()
        
        root.bind('<a>', partial(start_chronos, (sw, sv)))
        root.bind('<z>', partial(stop_chrono_gauche, (sw)))
        root.bind('<e>', partial(stop_chrono_droit, (sv)))
        root.bind('<r>', partial(reset_chronos, (sw, sv)))
        
          
        root.mainloop()
       
      
    if __name__ == '__main__':
        main()
    



    • Partager sur Facebook
    • Partager sur Twitter

    Suite projet SIN STI2D

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown