Instructions

71
J
etzt wird eine Funktion LedEin
()
de
niert
,
die die LED einschaltet
.
def
L
ed
A
us
():
GPIO.output
(
LED,False
)
Eine ä
h
n
l
ic
h
e Fun
k
tion, LedAus
()
,
sc
h
a
l
tet
d
ie LED wie
d
er aus. Diese
b
ei
d
en Fun
k
tionen wer
d
en später ü
b
er
die beiden Buttons im Dialog
f
eld au
f
geru
f
en.
Bis
h
ier
h
in war a
ll
es reines Pyt
h
on, jetzt ge
h
t es mit T
k
un
d
seinen Eigen
h
eiten
l
os
.
r
oot = Tk
()
T
k
inter ar
b
eitet mit sogenannten Wi
d
gets. Da
b
ei
h
an
d
e
l
t es sic
h
um eigenstän
d
ige Bi
ld
sc
h
irm
-
elemente, in den meisten Fällen um Dialog
f
elder, die ihrerseits verschiedene Elemente enthalten. Jedes Pro
-
gramm
b
rauc
h
t ein
root
-Widget, von dem aus alle weiteren Objekte au
f
geru
f
en werden. Dieses
root
-Wi
d
get
h
e
i
ßt
imm
e
r Tk
()
, generiert automatisc
h
ein Fenster un
d
initia
l
isiert auc
h
d
ie T
k
inter-Bi
bl
iot
h
e
k.
r
oot.title
(
"LED"
)
Objekte in Tkinter stellen verschiedene Methoden
f
ür unterschiedliche Zwecke zur Ver
-
f
ügung. Die Methode
t
itle
()
in einem Wi
d
get setzt
d
en Fenstertite
l
, sc
h
rei
b
t a
l
so in
d
iesem Fa
ll
d
as Wort
LED
in
d
i
e
Ti
tel
z
e
i
le
des
n
eue
n F
e
n
ste
r
s.
Jedes Widget kann mehrere Objekte enthalten, die einzeln de
niert werden. Tkinter kennt dazu verschie
-
dene Objekttypen, von denen jeder unterschiedliche Parameter ermöglicht, die die Eigenscha
f
ten des Objekts
b
e sc
h
rei
b
en. Die Parameter wer
d
en,
d
urc
h
Kommata getrennt, in einer K
l
ammer
h
inter
d
em O
b
je
k
ttyp angege-
b
en. Da
d
iese Liste se
h
r
l
ang wer
d
en
k
ann, sc
h
rei
b
t man ü
bl
ic
h
erweise je
d
en Parameter in eine eigene Zei
l
e,
sodass alle Parameter untereinander ausgerichtet sind. Im Gegensatz zu den Einrückungen bei Schlei
f
en und
Ab
f
ragen in Python sind diese Einrückungen der Tkinter-Objekte jedoch nicht obligatorisch
.
Label
(
root, text="Bitte Button klicken, um die LED ein- und auszuschalten"
)
.pack
()
O
b
je
k
te vom Typ L
abel
sin
d
reine Texte in einem Wi
d
get. Sie
k
önnen vom Programm verän
d
ert wer
d
en,
b
ieten
a
b
er
k
eine Intera
k
tion mit
d
em Benutzer. Der erste Parameter in je
d
em T
k
inter-O
b
je
k
t ist
d
er Name
d
es ü
b
er
-
geordneten Widgets, meistens des Fensters, in dem sich das jeweilige Objekt be
ndet. In unserem Fall ist das
d
as einzige Fenster im Programm,
d
as
root
-Wi
d
get.
De
r
Pa
r
a
m
ete
r
te
x
t
enthält den Text, der au
f
dem Label angezeigt werden soll. Am Ende der Objektde
ni tion
wir
d
d
er sogenannte Pac
k
er a
l
s Met
h
o
d
e pack
()
ange
h
ängt. Dieser Pac
k
er
b
aut
d
as O
b
je
k
t in
d
ie Dia
l
og
b
o
x
ein un
d
generiert
d
ie Geometrie
d
es Wi
d
gets.
Button
(
root, text="Ein", command=LedEin
)
.pack
(
side=LEFT
)
O
b
je
k
te vom Typ
Butto
n sind Schalt
ächen
,
die der Benutzer anklickt
,
um eine bestimmte Aktion auszulö sen.
A
uch
h
i
e
r
e
n
thält
de
r P
a
r
a
m
ete
r
te
x
t
den Text, der au
f
dem Button angezeigt werden soll
.
D
er
P
arameter
co
mm
a
n
d
enthält eine Funktion, die der Button beim Anklicken au
f
ru
f
t. Dabei können keine
Parameter ü
b
erge
b
en wer
d
en, un
d
d
er Fun
k
tionsname muss o
h
ne K
l
ammern angege
b
en wer
d
en. Dieser
Button ru
f
t die Funktion LedEin
()
au
f
, die die LED einschaltet.
10145-5 Raspberry Pi verstehen und anwenden_01.indd 7110145-5 Raspberry Pi verstehen und anwenden_01.indd 71 30.06.2017 10:09:3730.06.2017 10:09:37