Benutzer-Werkzeuge

Webseiten-Werkzeuge


de:guipy

GuiPy

GuiPy ist eine Python-IDE für die Schule, die auf PyScripter basiert. Die meisten Python-IDEs unterstützen nur textbasiertes Codieren. GuiPy bietet stattdessen mehrere grafische Tools, die das Lernen und Lehren von Python-Programmierkonzepten unterstützen. Dazu gehören:

  • Klassen-Modellierer zum Modellieren von Klassen mit Attributen und Methoden
  • UML-Fenster mit Klassen und ihren Beziehungen. Durch Aufrufen des Konstruktors erstellen Sie Objekte. Methoden von Objekten ruften Sie dann interaktiv auf.
  • GUI-Designer für Tkinter und TTK
  • Struktogramm-Editor zum Modellieren von Algorithmen und Konvertieren in Python-Code.
  • Sequenzdiagramm-Editor zum Modellieren von Sequenzdiagrammen mit Lebenslinien und Aktivierungen.

Klassen-Modellierer

Der Klassen-Modellierer ist ein einfach benutzbares Werkzeug zur Modellierung von Klassen. Mit dem Klassen-Modellierer können Sie neue Klassen erzeugen und bestehende Klassen bearbeiten. Er liest Python-Dateien und stellt sie als Klasse mit Attributen und Methoden dar. Änderungen im Klassen-Modellierer werden direkt in die zugehörige Python-Datei übernommen.

Die Reihenfolge der Attribute und Methoden im Strukturbaum kann mittels Drag&Drop verändert werden.

Den Klassen-Modellierer rufen Sie über das Symbol im Editorfenster auf. Sie können auch auf die gewünschte Klasse im UML-Fenster doppelklicken oder das Kontextmenü verwenden, um den Klassen-Modellierer aufzurufen.

Der Klassen-Modellierer berücksichtigt den UML-Standard, weswegen auch String als Datentyp angeboten wird. Bei der Umsetzung in Python-Quellcode wird daraus automatisch str.

UML-Fenster

Nachdem Sie eine Klasse mit dem Klassenmodellierer modelliert haben, ist es an der Zeit, Ihr Modell zu testen. Im uml-Fenster können Sie durch Öffnen des Kontextmenüs einer Klasse mit der rechten Maustaste den Konstruktor zum interaktiven Erstellen eines Objekts aufrufen.

Wenn Sie anschließend das Kontextmenü des erstellten Objekts aufrufen, können Sie die Attribute bearbeiten und die Methoden des Objekts aufrufen. Geänderte Attributwerte sind leicht zu erkennen und Objekte, die durch einen Methodenaufruf erstellt wurden, werden sofort angezeigt. Dies ist besonders nützlich, wenn Sie mit dynamischen Datenstrukturen wie Listen und Bäumen arbeiten.

GUI-Designer

Nach dem Testen eines Modells im UML-Fenster kann man es in einem Konsolen- oder GUI-Programm benutzen.

Es ist ziemlich kompliziert eine graphische Benutzungsoberfläche mit Layout-Managern zu gestalten. Schülerinnen und Schüler haben damit erhebliche Schwierigkeiten. Viel einfacher ist es mittels Drag&Drop Widgets an die gewünschte Position auf dem Formular zu ziehen. Der in GuiPy verfügbare GUI-Designer benutzt daher keine Layout-Manager sondern absolute Positionierung, womit man ziemlich schnell sein Layout gestalten kann.

Um ein GUI-Programm zu erstellen, klicken Sie auf das Symbol der Registerkarte „Programm“. Dadurch werden ein Programgerüst in einem Editorfenster und ein GUI-Formular bereitgestellt.

Um ein Widget zu platzieren, klicken Sie zuerst auf dessen Symbol auf der Registerkarte Tkinter oder TTK und dann auf das GUI-Formular. Alternativ können Sie ein Widget per Drag & Drop von einer Registerkarte auf Ihr GUI-Formular ziehen. Anschließend können Sie das Widget positionieren und mit dem Objektinspektor konfigurieren. Der Quellcode wird entsprechend synchronisiert.

Mit dem Symbol eines Quellcode-Editors öffnen Sie das zugehörige GUI-Formular.

Das GUI-Formular verfügt über ein Kontextmenü zum Bearbeiten der Widgets.

Struktogrammeditor

GuiPy verfügt über einen Struktogrammeditor, mit dem Struktogramme erstellt und bearbeitet werden können.

Die Modellierung von Abläufen mit Struktogrammen auf einer programmiersprachlich unabhängigen Ebene spielt im Informatikunterricht eine wichtige Rolle, weil Algorithmen auf einer abstrakten Ebene ohne konkrete programmiersprachliche Details modelliert werden können. Ein Algorithmus kann verstanden werden, ohne dass man ihn selbst in Python programmieren kann. Händisches Zeichnen von Struktogrammen auf Papier bringt keine ansehlichen Ergebnisse, weil Strukturänderungen praktisch nicht möglich sind. Mit dem Struktogrammeditor können Struktogramme einfach, schnell und korrekt erstellt werden.

Aus Struktogrammen kann Python-Quellcode generiert werden, der aber dann noch nach bearbeitet werden muss. Dies unterstützt beim Implementieren in Python. Der umgekehrte Weg geht auch. Im Editor kann man Quelltext auswählen und daraus ein Struktogramm erzeugen lassen.

Per Drag&Drop können Struktogrammelemente in ein Struktogramm eingefügt und aus einem Struktogramm herausgezogen werden. Zieht man ein Strktogrammelement nach unten, werden alle darauf folgenden Elemten auch mitabgetrennt. Aus der linken Symbolleiste lassen sich Struktogramelemente herausziehen, zum Löschen kann man sie zurück auf die Symbolleiste ziehen. Leere Struktogrammelemente klickt man an und tippt den Text einfach ein. Zum nachträglichen Editieren doppelklickt man den betreffenden Text.

Das grüne P erzeugt aus dem Struktogramm soweit möglich eine Pythonfunktion. In der Konfiguration können die im Struktogramm verwendeten Texte angepasst werden.

Sequenzdiagramm-Editor

Mit dem Sequenzdiagramm-Editor können Sie ein Sequenzdiagramm interaktiv erstellen. Lebenslinien gibt in zwei Formen, als Akteur und mit benanntem Kopf. Sie werden mit Hilfe der Symbolleiste eingefügt. Zum Herstellen einer Verbindung zwischen Lebenslinien benutzt man das Kontextmenü einer Lebenslinie und ruft dort verbinden mit auf. Zum Verändern von Texten rufen sie den Texteditor durch Doppelklicken auf.

Sequenzdiagramme werden mit der Dateierweiterung psd gespeichert. Es handelt sich um Textdateien, die auch mit externen Texteditoren bearbeitet werden können.

Betriebssysteme

Windows

GuiPy wird unter Windows entwickelt.

Linux

Der GuiPy funktioniert unter Linux mit der Wine-Erweiterung. Hinweise zur Installation finden Sie auf der WineHQ Seite. Unter Wine wird die Schriftart Monospace empfohlen. Manche Schriftarten funktionieren nicht im Editor.

Mac

GuiPy läuft auf dem Mac sowohl mit CrossOver Office (Wine) als auch in einer virtualisierten Windowsumgebung problemlos.

Bei einem 64-Bit Mac funktioniert er unter der Virtualisierungssoftware VMWare Fusion einwandfrei.

Mac M1/M2

Auf einem Mac mit M1 oder M2 Prozessor kann man GuiPy wie folgt einrichten. Zunächst lädt man die kostenlose Software UTM herunter https://mac.getutm.app/ und installiert diese. Zur Installation zieht man im UTM-Fenster das UTM-Icon auf das Applications-Icon.

Die bei UTM befindlichen Anleitungen zum Download einer Windows-ISO-Datei sind kompliziert und führen oft nicht zum Ziel. Daher installiert man sich im nächsten Schritt die Testversion von Paralles für Mac https://www.parallels.com/de/products/desktop/. Mit Parallels lädt man dann eine funkionierende Windows-11-ISO-Datei herunter. Die Testversion von Parallels deinstalliert man wieder. Zum Schluss ruft man UTM auf und erzeugt sich eine virtuelle Maschine mit Windows 11.

In Windows 11 wird dann zuerst Python und dann GuiPy installiert. Von https://python.org laden Sie sich eine 64-Bit Version von Python (x64/amd) herunter und installieren diese. Typischerweise wird nach C:\Users\<username>\AppData\Local\Programs\Python\Python3xx installiert.

Aktuell lässt sich die 64-Bit „Personal Version“ von GuiPy nicht installieren. Laden Sie sich deshalb die „Spezial Version“ herunter und entpacken Sie die Zip-Datei. Starten Sie dann das Programm setup.exe und installieren Sie in den vorgeschlagenen Ordner C:\Program Files\GuiPy\.

Nach dem Start von GuiPy kommt ein Hinweis auf eine fehlende Pythonversion. Schließen Sie beide dazugehörende Fenster. Öffnen Sie dann über das Menü Fenster die Konfiguration. Klicken Sie „nicht registrierte Versionen“ an und dann auf „Hinzufügen“. Wählen Sie den Installationsordner von Python aus:

Wählen Sie abschließend die so in GuiPy bereitgestellte Pythinversion aus und aktivieren Sie diese.

de/guipy.txt · Zuletzt geändert: 2023/03/21 21:50 von roehner