1.2 Widgets
Elemente einer grafische Benutzeroberfläche (Tkinter GUI) sind das Hauptfenster mit darauf platzierten Widgets (Steuerelementen).
In allen nachfolgenden Programmen werden grafische Benutzeroberflächen, das Hauptfenster mit darauf platzierten Widgets, erzeugt.
Widgets sind:
- Canvases (Leinwände)
- Labels (Beschriftungen)
- Buttons (Schaltflächen)
- Entries (Eingabefelder)
Canvas-Widgets
Ein Canvas-Widget ist eine Leinwand, auf die Texte gesetzt, geometrische Figuren gezeichnet sowie Grafiken und Bilder eingefügt werden können.
Programm »gelberText.py«
Das Programm »gelberText.py« erzeugt eine grafische Benutzeroberfläche mit dem Hauptfenster und dem darauf platzierten Canvas-Widget. Das Canvas-Widget ist eine blaue Leinwand mit einem gelben Text.
import tkinter as tk
# grafische Benutzeroberfläche
root=tk.Tk()
root.title("Willkommen")
root.geometry("400x70")
root.resizable(False, False)
# Canvas-Widget
canvas = tk.Canvas(root, background="blue")
canvas.create_text((200,35), text="Viel Spaß mit Python!",\
fill="yellow")
canvas.pack(fill=tk.BOTH, expand=True)
root.mainloop()
| 3. und 9. Zeile | In den Zeilen stehen Kommentare zum Verstehen des Quelltexts. |
| 4. bis 7. Zeile |
Das Hauptfenster:
|
| 10. Zeile | Ein blaues Canvas-Widget (Leinwand) wird erzeugt. |
| 11. und 12. Zeile |
Auf das Canvas-Widget wird der gelbe Text »Viel Spaß mit Python!« mit der Canvas-Methode
»create_text« gesetzt.
|
| 11. Zeile | Der Backslash \ erzeugt innerhalb der Canvas-Method »create_text« einen Zeilenumbruch.[1] |
| 14. Zeile |
Das Canvas-Widget wird als Element auf dem Hauptfenster platziert.
|
In der Abbildung 1 ist das Canvas-Widget mit dem darauf plazierten gelben Text zu sehen.
Um den Text allerdings auf das Canvas-Widget zu platzieren, werden die Koordinaten
Der Mittelpunkt des Texts ist in der Abbildung 2 als Schnittpunkt der roten Linien dargestellt.
Das Koordinatensystem des Canvas-Widgets ist in der Abbildung 4 dargestellt.
Zu beachten ist, dass die y-Achse des Koordinatensystems des Canvas-Wedgets nach
Wichtig zu wissen ist:
-
Obwohl die y-Achse des Koordinatensystems des Canvas-Widgets nach unten ausgerichtet ist,
steht der auf dem Canvas-Widget ausgegebene Text
nicht auf dem »Kopf« – wie dies in der Abbildung 1 zu sehen ist..
Aufgabe A3
Implementiere ein Programm »bunteTexte.py« am Computer.
Das Programm soll das Folgende leisten:
- ähnlich wie in der Abbildung 5 dargestellt, soll ein auf dem Hauptfenster platziertes weißes Canvas-Widget mit bunten Texten ausgegeben werden
- die Textfarben könnten beispielsweise green, orange, blue, red und purple sein
Führe das Programm aus und teste, ob es fehlerfrei läuft und den gestellten Anforderungen entspricht.
- [1] In Python ist es Standard, dass höchstens 79 Zeichen in jeder Codezeile stehen.
- [2] Der Grund, weshalb die y-Achse des Koordinatensystems nach unten ausgerichtet ist, lag in der Vergangenheit an den Kathodenstrahl-Röhren-Bildschirmen der Computer. Die Pixel wurden auf den Bildschirmen vom Kathodenstrahl zeilenweise von links oben nach rechts unten dargestellt.