495
Kapitel 17
Grafik
»Ein Bild sagt mehr als tausend Worte«, heißt es. Abbildungen sind ein wichtiger Bestand-
teil grafischer Benutzungsoberflächen. Richtig eingesetzt machen sie aus einem techni-
schen Produkt ein fantasievolles Kunstwerk und verbessern die Kommunikation zwischen
Mensch und Maschine. Aus dem weiten Feld der Grafikverarbeitung greifen wir in diesem
Kapitel zwei Punkte auf:
Einbinden von pixelorientierten Abbildungen, die als Grafikdatei vorliegen
Dynamische Konstruktion von Grafiken aus Grundformen auf einem Canvas-Widget
17.1 Die tkinter-Klasse Canvas
Die Klasse Canvas des Moduls tkinter ist ein mächtiges Werkzeug zur Gestaltung von gra-
fischen Komponenten einer Programmoberfläche. Im Rahmen dieses Buches können nur
einige wenige Features vorgestellt werden. Ein Canvas-Objekt wird (analog zu den anderen
Widgets) mit einem Aufruf des Konstruktors in folgendem Format erzeugt:
Das erste Argument ist – wie gewohnt – der Name eines Master-Widgets, dann folgen op-
tionale Schlüsselwort-Argumente zur Konfiguration der üblichen Widget-Optionen.
Das englische Wort canvas bedeutet so viel wie Leinwand. Das beschreibt recht gut die Idee
dieses Widgets: eine rechteckige Fläche, auf die ein Bild gemalt wird. Canvas-Objekte besit-
zen Methoden, mit deren Hilfe grafische Elemente (so genannte Items) wie Kreise, Recht-
ecke, Linien oder Texte generiert, platziert, verschoben oder gelöscht werden können.
Tabelle 17.1 gibt einen Überblick.
canvas = Canvas(master [, option1=wert1, ...])
Methode Erklärung
coords (id,
x1, y1, x2, y2, ...)
Auslesen oder Verändern der Koordinaten des
Items mit ID-Nummer
id
create_arc(x1, y1, x2, y2
[,option1=wert1[,...]])
Erzeugt einen Ellipsenausschnitt an der Position
(x1, y1, x2, y2).
create_image(x, y
[,option1=wert1[,...]])
Erzeugt ein Bild an der Stelle
(x, y).
create_line(x1, y1, ...
[,option1=wert1[,...]])
Erzeugt eine zusammenhängende Linie, die aus
mehreren Teilstücken besteht.
Tabelle 17.1: Einige Methoden des Canvas-Widgets

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.