12.2. Grafische Benutzeroberflächen
- Python:
- Informatik:
- Mathematik:
- Python-Module:
Dieses Projekt hat zum Ziel, ein Programm mit einer einfachen graphischen
Benutzeroberfläche zu erstellen. Dazu wirst du die Bibliothek tkinter
verwenden, welche standartmässig bei Python installiert ist.
Sie bietet Funktionen um Fenster, Schaltflächen und Eingabeelemente zu
erstellen. Das Ziel des Projekts ist es, das Notenberechnungsprogramm aus der
Einführung mit einer graphischen Benutzeroberfläche zu versehen. Falls noch Zeit
dafür bleibt, wirst du auch das Canvas-Element aus tkinter
benutzen,
um Zeichnungen und Grafiken zu erstellen.
12.2.1. Aufträge
Bearbeite das Kapitel zu graphischen Benutzeroberflächen in diesem Skript. Achte darauf, dass du die Programmbeispiele selbst umsetzt und sie vollständig verstehst.
Erstelle eine graphische Benutzeroberfläche für das Notenprogramm, welches die folgenden Anforderungen erfüllt:
Es kann eine beliebige Anzahl Noten sowie ein Wunschschnitt eingegeben werden.
Der Wunschschnitt kann auf Knopfdruck berechnet werden oder wir bei der Eingabe automatisch berechnet.
Die Anzahl Noten und die einzelnen Noten müssen abgeändert werden können und die Berechnung erneut ausgeführt und das Programm sollte sich noch immer erwartungsgemäss verhalten.
Wenn der Benutzer sich nicht sinnvoll verhält - etwas durch eingeben einer ungültigen Note, durch zu frühes Klicken des Berechnungsbuttons - sollte das Programm den Benutzer auf seinen Fehler aufmerksam machen und ihm die korrekte Benutzung des Programms erklären.
In der Gestaltung der Oberfläche bist du frei. Sie sollte für den Benutzer möglichst intuitiv zu bedienen sein.
Als Erweiterung deines Programmes ermöglichst du dem Benutzer, seine Notendaten in eine Datei zu speichern und sie auch wieder von da zu laden.
12.2.2. Dokumente
Die folgenden Dokumente sollten am Ende der Arbeit am Projekt abgegeben werden:
Arbeitsjournal
Programm, welches gemäss den oben notierten Vorgaben funktioniert.
12.2.3. Dokumentations-Links
Tkinter-Wiki: http://tkinter.unpythonic.net/wiki/
Tkinter-Reference-Dokumentation: http://infohost.nmt.edu/tcc/help/pubs/tkinter/web/index.html