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 :

Actualisation de l'affichage d'un canvas [Tkinter] [Canvas]


Sujet :

Tkinter Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Etudiant
    Inscrit en
    Octobre 2019
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Octobre 2019
    Messages : 1
    Points : 2
    Points
    2
    Par défaut Actualisation de l'affichage d'un canvas [Tkinter] [Canvas]
    Bonjour, je suis nouveau à la programmation et, afin de m'entraîner à manier les interfaces graphiques, j'ai voulu coder un petit programme faisant bouger une ligne de carrés sur un canvas d'un nombre de case determiné.
    Jusque là, mon programme fonctionne mais n'affiche pas en tant réel l'avancée de ma ligne de carrés, or, je voudrai pouvoir le faire.
    Voici le programme en question :

    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
    from tkinter import*
    from time import *
     
    def avance () :
        global n
        i=n
        l=0
        while l<10 :
            while i>0 :
                can.move(i, c, 0) 
                i-=1
            l+=1
            sleep(0.5)                             #temps d'atttente de 0,5 secondes pour laisser le temps de voir l'avancement de la ligne
     
     
    n=2                                           #nombre de carrés
    c = 30                                        #taille d'un carré
    x1, y1, x2, y2 = 5*c, 4*c, 6*c, 5*c
    f=Tk()
    can=Canvas(f, width=20*c, height=20*c)
    can.create_rectangle(x1-c, y1, x2-c, y2, tags=n)  #ma ligne de carrés(créée manuellement)
    can.create_rectangle(x1, y1, x2, y2, tags=n-1)
    start=Button(f, text="Start", command=avance)    #le bouton pour lancer le déplacement
    can.pack()
    start.pack(side=BOTTOM)
    f.mainloop()
    Est-ce possible de voir l'avancement du canvas en tant réel?
    Merci de vos réponse en avance !

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 313
    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 313
    Points : 36 819
    Points
    36 819
    Par défaut
    Salut,

    Citation Envoyé par Sir Ederf Voir le message
    Est-ce possible de voir l'avancement du canvas en tant réel?
    Pour voir des figures bouger, il faut que la fonction/callback se termine et rende la main à tkinter pour qu'il puisse mettre à jour l'affichage.
    Et pour voir comment çà se réalise avec .after, le plus simple est d'ouvrir un tuto.

    - W

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

Discussions similaires

  1. problème d'affichage dune image avec Tkinter
    Par destroy51 dans le forum GUI
    Réponses: 14
    Dernier message: 29/03/2014, 13h40
  2. KML : modification "en mémoire" avec actualisation de l'affichage
    Par saxrub dans le forum IGN API Géoportail
    Réponses: 2
    Dernier message: 04/01/2013, 10h51
  3. Gestion de l'ordre d'affichage dans un canvas
    Par DotNET74 dans le forum Windows Phone
    Réponses: 9
    Dernier message: 04/08/2012, 20h53
  4. Actualisation d'un affichage
    Par LuckyLuke56 dans le forum Langage
    Réponses: 2
    Dernier message: 16/03/2009, 17h43
  5. Thread et actualisation de l'affichage swing
    Par Pirokkk dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 28/12/2007, 19h41

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