User manual
A választható három minta szövegét egy külön listaformátum definiálja. Mindhárom listaelem
egy értékpárból áll, amely a kijelzett szöveget és egy számértéket tartalmaz, amelyet később
az adott rádiógomb kiválasztásakor vissza kell adnia.
root = Tk(); root.title("LED")
A root-widget inicalizálása megint megfelel az előző programénak, csak a párbeszédmező
tartalmai különbözőek.
v = IntVar(); v.set(1)
A Tk-párbeszédablakban alkalmazott változókat a normál Python változókkal ellentétben az
első alkalmazás előtt deklarálni kell. Ez a két sor egy
v változót egész számként deklarál, és a
kezdéskor az
1értéket kapja.
Most ismét egy funkció definiálása következik, amelynek a neve a legutóbbi példával
megegyezően
LedEin() , ezúttal azonban nem csak egyetlen LED-et kapcsol be, hanem egy
LED-mintát indít el. A legutóbbi példában szereplő
LedAus()funkcióra itt nincs szükség. Az új
funkció első sora kiolvassa a felhasználó által beadott
v Tk-változót, és beírja az értéket az
ePython-változóba. Hogy hogyan kerül az érték éppen a v változóba, megtudjuk alább a
rádiógombok ismertetéséből.
A felhasználó választásától függően a három különböző programhurok közül az egyik elindul:
Az első esetben egy hurok ötször fut végig, amely a négy LED-et egymásután kigyújtja, 0,22
másodpercig hagyja világítani, majd megint kikapcsolja. Az öt ismétlést és a 0,2 másodperces
felvillanási időt a program kezdetén a
w és a t változó definiálja.
A második esetben mind a négy LED ötször egymásután egyszerre bekapcsolódik, és miután
0,2 másodpercig világított, megint egyszerre kikapcsolódik.
def LedEin():
e =
v.get()
if
e ==
1:
for
i
in
range(w):
for
j
in
range(4):
GPIO.output(LED[j], True); time.sleep(t)
GPIO.output(LED[j], False)
elif
e ==
2:
for
i
in
range(w):
for
j
in
range(4):
GPIO.output(LED[j], True)
time.sleep(t)
for
j
in
range(4):
GPIO.output(LED[j], False)
time.sleep(t)
else
for
i
in
range(w):
for
j
in
range(4):
85