509
17.3
Bilder in eine Benutzungsoberfläche einbinden
#6: Hier wird ein String im Format "#rrggbb" erzeugt. Er enthält eine hexadezimale Dar-
stellung der Farbanteile, z.B.
"#ff0000" für ein rotes Pixel. Die Platzhalter {:02x} bewir-
ken, dass die Zahlen als zweistellige Hexadezimalzahlen (eventuell mit führenden Nullen)
dargestellt werden.
17.3 Bilder in eine Benutzungsoberfläche einbinden
Auf Widgets der Klassen Label und Button können Bilder gesetzt werden, indem man
der Option
image ein PhotoImage-Objekt zuweist. Auf einen Canvas platziert man mit
der Methode
create_image() ein Bild. Wir zeigen das Einbinden von Bildern an zwei
Beispielen.
17.3.1 Icons auf Schaltflächen
Es gibt viele Gründe, Schaltflächen nicht mit textuellen Beschriftungen, sondern mit Bil-
dern zu versehen. Grafische Symbole (Icons)
nehmen weniger Platz ein
werden schneller wahrgenommen
sind international verständlich
Die folgende Spielzeugapplikation enthält zwei Buttons, auf die jeweils ein kleines Foto
einer Frucht gesetzt worden ist. Klickt man auf einen Button, so erscheint im rechten Teil
des Fensters die Bezeichnung der Frucht.
Abb. 17.8: Buttons mit Icons (links)
Skript:
# fruechte.pyw
from tkinter import *
class Fruechte:
def __init__(self):
self.fenster = Tk()
self.zitrone = PhotoImage(
file='/python/fruechte/zitrone1.gif') #1
self.banane = PhotoImage(
file='/python/fruechte/banane1.gif')
Button(self.fenster, image=self.zitrone,
command=self.__schreibeZitrone).pack(side=LEFT) #2
Button(self.fenster, image=self.banane,
command=self.__schreibeBanane).pack(side=LEFT)

Get Python 3 - Lernen und professionell anwenden now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.