User manual
86
Dans le deuxième cas, toutes les quatre LED sont allumées à la suite simultanément, elles éclairent ensuite
pendant 0,2 secondes puis sont éteintes en même temps.
else:
for i in range(w):
for j in range(4):
GPIO.output(LED[3-j], True); time.sleep(t)
GPIO.output(LED[3-j], False)
Le troisième cas ressemble au premier sauf que les LED sont comptées à l'envers et que, par conséquent, le
chenillard court dans le sens inverse.
Après avoir défini la fonction, les éléments de l'interface graphique sont créés.
Label(root,
text="Veuillez cliquer sur le bouton, pour démarrer le
chenillard").pack()
Le texte de la boîte de dialogue est à nouveau défini comme un objet Label. La définition des trois boutons
radio est nouvelle.
for txt, m in motif:
Bouton_radio(root, text = txt, variable = v, value = m).pack(anchor=W)
Les boutons radio sont définis par une forme spéciale de la boucle for. A la place d'un compteur de boucle,
il y a ici deux variables qui sont comptées en parallèle. Les deux compteurs passent successivement par les
éléments de la liste
motif. La première variable de comptage txt assume la première valeur de la paire de
valeurs : le texte affiché à côté du bouton radio. La deuxième variable de comptage
m assume le numéro de
chaque motif à partir de la deuxième valeur de la paire de valeur.
La boucle crée de cette façon trois boutons radio dont le premier paramètre est toujours le widget
root où
se trouvent les boutons radio. Le paramètre
text d’un bouton radio donne le texte à afficher qui est dans ce
cas lu à partir de la variable
txt. Le paramètre variable spécifie une variable Tk précédemment déclarée,
dans laquelle la valeur du bouton radio choisi par l'utilisateur est enregistrée.
Le paramètre
value spécifie une valeur numérique pour chaque bouton radio, qui est lue dans ce cas à
partir de la variable
m. Si un utilisateur clique sur ce bouton radio, la valeur du paramètre value dans la
variable enregistrée sous
variable est écrite. Chacun des trois boutons radio est construit selon sa définition
de manière similaire à la méthode
.pack() dans la boîte de dialogue. Le paramètre anchor=W assure que
les boutons radio soient alignées à gauche les uns sous les autres.
Button(root, text="Démarrer", command=LedEin).pack(side=LEFT)
Le bouton est défini comme dans le dernier exemple.
root.mainloop(); GPIO.cleanup()
La boucle principale et la fin du programme correspondent à l'exemple précédent.