tkinter: comment utiliser après la méthode
Hé, je suis nouveau sur python et je suis en utilisant tkinter pour mon interface graphique. J'ai de la difficulté à l'aide de "l'après" de la méthode.
Le but est de faire une lettre aléatoire apparaissent toutes les 5 secondes.
Voici mon code:
import random
import time
from tkinter import *
root = Tk()
w = Label(root, text="GAME")
w.pack()
frame = Frame(root, width=300, height=300)
frame.pack()
L1 = Label(root, text="User Name")
L1.pack(side=LEFT)
E1 = Entry(root, bd =5)
E1.pack(side=LEFT)
tiles_letter = ['a', 'b', 'c', 'd', 'e']
while len(tiles_letter) > 0:
rand = random.choice(tiles_letter)
tile_frame = Label(frame, text=rand)
tile_frame.pack()
frame.after(500)
tiles_letter.remove(rand) # remove that tile from list of tiles
root.mainloop()
quelqu'un peut m'aider --- le problème est certainement l'image.après(500):
je ne sais pas si il est correct d'utiliser "image" et je ne sais pas ce qui s'ensuit de la 500.
Grâce
OriginalL'auteur user2456977 | 2014-09-09
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin de donner une fonction qui doit être appelée après le temps de retard que le deuxième argument de
après
:Donc ce que vous voulez vraiment, c'est ceci:
Vous devez également programmer la fonction à appeler à nouveau en répétant l'appel à
after
à l'intérieur de la fonction de rappel, depuisafter
s'exécute uniquement la fonction donnée une fois. Ceci est également indiqué dans la documentation:Noter que votre exemple, une exception sera levée dès que vous avez épuisé toutes les entrées dans
tiles_letter
, si vous avez besoin de changer votre logique pour gérer ce cas, quelle que soit la manière que vous voulez. La chose la plus simple serait d'ajouter une case au début deadd_letter
assurez-vous que la liste n'est pas vide, et justereturn
si elle est:after
l'appeler la première fois, surtout si vous neafter(0, ...)
.OriginalL'auteur dano