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

Python Discussion :

time.sleep fait tout planter !


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2017
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2017
    Messages : 14
    Par défaut time.sleep fait tout planter !
    Bonjour,

    Je me suis mis à Python hier et j'ai un petit souci avec la commande sleep.
    J'ai voulu réaliser dans un morpion un clignotement des jetons gagnants mais le programme a planté.

    Donc j'ai isolé dans un autre programme cette fonction, mais cela ne fonctionne pas (sans planter cette fois).
    Je cherche une commande "delay" version Python qui ne fasse pas tout planter.

    Voici le programme que j'ai isolé et qui ne fonctionne pas.

    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
    # On importe Tkinter
    from tkinter import *
     
    from time import sleep
     
    # On crée une fenêtre, dimension 800x500, couleur de fond blanc
    fenetre = Tk()
    fenetre.geometry("800x500")
    fenetre["bg"] = "white"
     
    # Création d'une zonne de dessin, disposition de la zone de dessin
    zone_dessin = Canvas(fenetre,width=800,height=450,bg="white",bd=8)
    zone_dessin.pack()
     
    def test():
    	zone_dessin.create_oval(215, 165, 285, 235, fill="white")
    	zone_dessin.create_oval(365, 165, 435, 235, fill="white")
    	zone_dessin.create_oval(515, 165, 585, 235, fill="white")
    	sleep(1)
    	zone_dessin.create_oval(215, 165, 285, 235, fill="red")
    	zone_dessin.create_oval(365, 165, 435, 235, fill="red")
    	zone_dessin.create_oval(515, 165, 585, 235, fill="red")
    	sleep(1)
     
     
     
    Bouton1 = Button(fenetre, text = 'TEST', command = test)
    Bouton1.pack()	
     
    # On démarre la boucle Tkinter qui s'interompt quand on ferme la fenêtre
    fenetre.mainloop()
    Merci pour votre réponse.

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 739
    Par défaut
    Salut,

    Ce que vous appelez "fonction" doit être nommé "callback" rien que pour se souvenir que cette chose là est appelée via la "mainloop" de l'IHM lorsque l'utilisateur appuie sur le Button.... Et qu'elle doit se terminer le plus rapidement possible à cette "mainloop" car c'est elle qui s'occupe des mises à jour (et de la réactivité) de l'interface graphique.
    Si tout cela est du charabia, prenez le temps de lire un tuto. A la fin du chapitre, vous avez des éléments pour réaliser des animations avec tkinter. Sinon lisez la documentation d'after.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. [AC-2010] requete qui fait tout planter
    Par alex61 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 04/01/2012, 14h30
  2. [nouveau .js fait tout planter]
    Par zouzou99 dans le forum jQuery
    Réponses: 2
    Dernier message: 16/08/2010, 14h54
  3. Flash + PHP : La fonction include fait tout planter !
    Par Arsach dans le forum Dynamique
    Réponses: 1
    Dernier message: 19/06/2008, 10h51
  4. DTS : importation volumineuse fait tout planter
    Par meufeu dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 30/08/2005, 20h09
  5. [Lomboz][JSP]Le paramètre prefix de taglib fait tout planter
    Par MasterMic dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 20/06/2005, 15h47

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