12.2. Grafische Benutzeroberflächen

Python:* * * * o
Informatik:* * o o o
Mathematik:* o o o o
Python-Module:tkinter

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

  1. Bearbeite das Kapitel zu graphischen Benutzeroberflächen in diesem Skript. Achte darauf, dass du die Programmbeispiele selbst umsetzt und sie vollständig verstehst.
  1. 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.

  2. 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.