Partage
  • Partager sur Facebook
  • Partager sur Twitter

Définir une touche pour lancer deux fonction

    23 mars 2015 à 17:41:30

    Bonjour à tous,

    J'espère que vous pourrez m'aider mon problème et que je voudrais qu'une touche clavier puisse lancer 2 fonction chronomètre en même temps voici mon programme :

    from tkinter import * #importer tkinter
    import time # importer le module time
           
    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:%02d' % (minutes, seconds, hseconds))
     
        def Start(self): #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 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)
        Button(root, text='Start', command=sw.Start).pack(side=LEFT)# bouton start
        Button(root, text='Stop', command=sw.Stop).pack(side=LEFT) # bouton stop
        Button(root, text='Reset', command=sw.Reset).pack(side=LEFT)#bouton reset
        Button(root, text='Start', command=sv.Start).pack(side=LEFT)# bouton start
        Button(root, text='Stop', command=sv.Stop).pack(side=LEFT) # bouton stop
        Button(root, text='Reset', command=sv.Reset).pack(side=LEFT)#bouton reset

        root.bind('<a>', sw.Start)
       
        root.mainloop()
     

    if __name__ == '__main__':
        main()

    en espérant que vous puissiez répondre a ma demande

    • Partager sur Facebook
    • Partager sur Twitter

    Définir une touche pour lancer deux fonction

    × 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