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 :

Canvas itemconfig trop lent


Sujet :

Tkinter Python

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Canvas itemconfig trop lent
    Bonjour,

    J'utilise un Canvas pour afficher une image et plusieurs textes en superposition (pour créer une ombre stylée), mon problème est de mettre à jour ces textes et d'afficher le Canvas une fois qu'ils sont mis à jour.
    Avec itemconfig je mets donc à jour chaque texte un après l'autre, ce qui donne un mauvais rendu visuel.

    J'ai ralenti pour que vous puissiez voir :
    Nom : Sans-titre---1.gif
Affichages : 858
Taille : 319,5 Ko

    Y a t il une manière de procéder qui permettrait de mettre à jour le canvas uniquement quand tout est prêt à être affiché ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    canvas = tk.Canvas(root, width = WIDTH, height = HEIGHT)    
     
    date = time.strftime('%A, %d %B, %Y %H:%M:%S').capitalize()
    date = date.split(' ')
    hour = date[-1]
    day = ' '.join((date[0:-1]))
     
    hour_b = canvas.create_text(int(WIDTH/2),int(HEIGHT/2)-50, font=('French Script MT', 200, 'bold'), fill='black', text = hour)
    hour_f = canvas.create_text(int(WIDTH/2),int(HEIGHT/2)-50, font=('French Script MT', 200), fill='white', text = hour)
    day_l = canvas.create_text(int(WIDTH/2)-1,int(HEIGHT/2)+90, font=('French Script MT', 50), fill='black', text = day)
    day_r = canvas.create_text(int(WIDTH/2)+1,int(HEIGHT/2)+90, font=('French Script MT', 50), fill='black', text = day)
    day_f = canvas.create_text(int(WIDTH/2),int(HEIGHT/2)+90, font=('French Script MT', 50), fill='white', text = day)
     
    canvas.pack()
    Plus loin dans une boucle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
            date = time.strftime('%A, %d %B, %Y %H:%M:%S').capitalize()
            date = date.split(' ')
            hour = date[-1]
            day = ' '.join((date[0:-1]))
            canvas.itemconfig(hour_b, text=hour)
            canvas.itemconfig(hour_f, text=hour)
            canvas.itemconfig(day_l, text=day)
            canvas.itemconfig(day_r, text=day)
            canvas.itemconfig(day_f, text=day)
    Merci par avance !
    Dernière modification par Invité ; 15/08/2022 à 17h13.

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

Discussions similaires

  1. Convolution trop lente...
    Par progfou dans le forum Traitement d'images
    Réponses: 6
    Dernier message: 05/08/2006, 11h44
  2. [Eclipse] Editeur de code trop lent
    Par Benzeghiba dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 10/11/2005, 14h02
  3. boucle while trop lente
    Par atouze dans le forum Access
    Réponses: 17
    Dernier message: 15/06/2005, 16h35
  4. [SAGE] ODBC trop lent
    Par tileffeleauzed dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 14/11/2004, 09h56
  5. Envoi de mail trop lent
    Par MASSAKA dans le forum ASP
    Réponses: 3
    Dernier message: 15/10/2004, 10h57

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