Instructions

68
Die
gl
eic
h
e Fun
k
tion zeic
h
net auc
h
d
ie an
d
eren
b
ei
d
en Zei
g
er
d
er U
h
r
.
pygame.draw.line
(
FELD, SCHWARZ, MP, punkt
(
170, m
)
, 4
)
Diese Zei
l
e zeic
h
net
d
en Minutenzeiger a
l
s Linie mit einer Breite von
4
Pixe
l
n vom Mitte
l
pun
k
t aus
1
7
0
Pixe
l
l
ang in
d
em Win
k
e
l
,
d
er
d
urc
h
d
en Minutenwert angege
b
en wir
d.
pygame.draw.line
(
FELD, ROT, MP, punkt
(
180, s
)
, 2
)
Diese Zei
l
e zeic
h
net
d
en Se
k
un
d
enzei
g
er a
l
s rote Linie mit einer Breite von
2
Pixe
l
n vom Mitte
l
pun
k
t aus
180
Pixe
l
l
an
g
in
d
em Win
k
e
l
,
d
er
d
urc
h
d
en Se
k
un
d
enwert an
g
e
g
e
b
en wir
d.
s1
=
s
J
etzt wir
d
d
ie
g
era
d
e
d
ar
g
este
ll
te Se
k
un
d
e in
d
er Varia
bl
en
s1
g
espeic
h
ert, um
d
iesen Wert in
d
en
nächsten Schlei
f
endurchläu
f
en mit der aktuellen Sekunde zu ver
g
leichen
.
pygame.display.set_caption
(
"Aktuelle Zeit: " + time.asctime
())
Diese Zei
l
e sc
h
rei
b
t
d
ie a
k
tue
ll
e U
h
rzeit in
d
igita
l
er Form in
d
en Fenstertite
l
. Dazu wir
d
d
ie Fun
k
tion
ti
me
.
a
sctime
()
aus
de
r
ti
m
e
-
Bibliothek verwendet, die die Zeitangabe als
f
ertig
f
ormatierte Zeichenkette lie
f
ert
.
pygame.display.update
()
Bisher wurden alle Gra
kelemente nur virtuell gezeichnet. Erst diese Zeile baut
die Gra
kanzeige wirklich neu au
f
. Die Aktualisierung er
f
olgt gleichzeitig. Deshalb ist auch keinerlei Flackern
b
eim Zeic
h
nen
d
er einze
l
nen Zeiger nac
h
einan
d
er zu se
h
en
.
for event in pygame.event.get()
:
if event.type == Q
UIT
or (event.type == K
EYU
P and event.key == K_
ESCA
P
E
)
:
ma
i
n
l
oop = Fa
l
se
Imm
e
r n
och
inn
e
r
halb
de
r
if
-Ab
f
rage, also auch nur einmal in der Sekunde, er
f
olgt die relativ leistungshung
-
rige Ab
f
rage eventueller Systemereignisse, mit der
f
estgestellt wird, ob der Benutzer innerhalb der letzten
Se
k
u
n
de
das
U
hr
e
n
fe
n
ste
r
sc
hli
eße
n w
o
ll
te
ode
r
d
i
e
[
Esc
]
-
Taste ge
d
rüc
k
t
h
at. Ist
d
as
d
er Fa
ll
, wir
d
d
ie Vari
-
able
ma
i
n
l
oo
p
auf
F
alse
gesetzt, und damit wird die Schlei
f
e kein weiteres Mal gestartet.
pygame.quit
()
Die letzte Zeile beendet das PyGame-Modul. Dadurch wird auch das gra
sche Fenster
gesc
hl
ossen un
d
d
anac
h
d
as ganze Programm.
10 Grafi sche Dialo
g
felder zur Pro
g
rammsteuerun
g
Kein modernes Programm, das irgendeine Interaktion mit dem Benutzer er
f
ordert, läu
f
t im reinen Text modus.
Ü
berall gibt es grafi sche Oberfl ächen, auf denen man Buttons anklicken kann, anstatt Eingaben über die
Tastatur vorne
h
men zu müssen
.
Python selbst bietet keine gra
schen Ober
ächen
f
ür Programme, es gibt aber mehrere externe Module, ähn-
lich dem schon beschriebenen PyGame, die speziell da
f
ür da sind, gra
sche Ober
ächen zu erstellen. Eines
der bekanntesten derartigen Module ist Tkinter, das die gra
sche Ober
äche Tk, die auch
f
ür diverse andere
Programmiersprachen genutzt werden kann,
f
ür Python ver
f
ügbar macht.
10145-5 Raspberry Pi verstehen und anwenden_01.indd 6810145-5 Raspberry Pi verstehen und anwenden_01.indd 68 30.06.2017 10:09:3630.06.2017 10:09:36