Add Thesis

Entwicklung eines Visual Programming Tools für Python

Written by E. Bernecker

Paper category

Bachelor Thesis

Subject

Computer Science

Year

2017

Abstract

Bachelorarbeit: Entwicklung des Skripteditors Um den Entwicklungsprozess des Skripteditors zu dokumentieren, werden die in dieser Bachelorarbeit verwendeten Werkzeuge in den folgenden Kapiteln 3.1 bis 3.4 vorgestellt. Anschließend skizziert es die Entwicklung der grafischen Benutzeroberfläche und die anschließende Realisierung der Script-Editor-Funktion. Abschließend wird das Problem des Speicherns und Ladens von Projekten erläutert. 3.1 Verwendete Software Die zur Implementierung des Skripteditors verwendete Programmiersprache ist Python unter dem Qt-Framework. Qt Framework ist eine C++-basierte Klassenbibliothek zur plattformübergreifenden Programmierung von grafischen Benutzeroberflächen, den sogenannten GUIs4. Um ein visuelles Programmierwerkzeug zu implementieren, verwenden Sie zunächst den in PyQt5 bereitgestellten QtDesigner, um eine grafische Benutzeroberfläche zu erstellen. Mit diesem Tool können grafische Benutzeroberflächen ohne Programmlogik erstellt werden. Die Erstellung der grafischen Benutzeroberfläche des Visual Programming Tools wird in Kapitel 3.2 ausführlich erläutert.Die grafische Benutzeroberfläche muss kompiliert werden, bevor sie mit Python verwendet und als Python-Klasse in das Projekt integriert werden kann. Das Projekt wurde mit der Eclipse-IDE erstellt. Es wird als Editor und Debugging-Tool verwendet, um die Funktionen und die Logik hinter der grafischen Benutzeroberfläche des Visual Programming Tool zu programmieren und zu implementieren. Verwenden Sie Python 3.4 als Programmiersprache. Daher werden die folgenden Werkzeuge verwendet, um das Visual Programming Tool .3.1.1 zu erstellen: Python 3.4 Python Python ist eine allgemeine dynamische Programmiersprache, die objektorientierte, aspektorientierte und funktionale Programmierung unterstützt. Der plattformunabhängige Python-Interpreter wird kostenlos zur Verfügung gestellt und ermöglicht dank der Standardbibliothek die Einbettung von Python-Programmen in andere Programmiersprachen. Die grafische Benutzeroberfläche kann mit Hilfe des mitgelieferten Tkinter-Moduls erstellt oder über einen sogenannten Wrapper an eine GUI-Bibliothek wie PyQt angebunden werden (siehe Abschnitt 3.1.2). (Python Software Foundation, 2017) Ein Vorteil gegenüber ähnlichen Programmiersprachen ist die dynamische Datentypverwaltung, im Gegensatz zur üblichen statischen Typprüfung in C++. Der Python-Interpreter unterstützt auch einen interaktiven Modus, in dem die Ergebnisse sofort sichtbar sind und Ausdrücke direkt am Terminal eingegeben werden können. Daher kann der Codeteil vor der Implementierung interaktiv getestet werden. 3.1.2.PyQt5PyQt5 ist ein Toolkit, das die Verwendung von Python zum Erstellen grafischer Benutzeroberflächen unterstützt. Es fungiert als "Vermittler" zwischen dem plattformübergreifenden Anwendungsframework von Qt C++ und der plattformübergreifenden Programmiersprache Python. Dies kombiniert die Vorteile der Qt-Bibliothek und Python. (Riverbank Computing Limited, 2017) 3.1.3.Qt Designer Qt Designer dient zur Entwicklung von Oberflächen mit Hilfe von Qt Framework und ist integrierter Bestandteil von Qt Creator. Dies ist eine C++/Qt-Entwicklungsumgebung (IDE) für Windows, Mac OS X und Linux. Aufgrund der Plattformunabhängigkeit der Qt-Bibliothek kann das Programm auch auf anderen Plattformen ausgeführt werden, ohne den Quellcode zu ändern. Dieses Attribut wird als "Quellcode-Portabilität" bezeichnet. Qt Designer ist der sogenannte WYSIWYG6-Editor. Das bedeutet, dass Benutzer Änderungen an der grafischen Benutzeroberfläche sofort sehen können. Daher wird der Quellcode beim Schreiben der Qt-Anwendung automatisch erstellt und aktualisiert. Mit Hilfe des Qt-Frameworks werden mit Qt Designer grafische Benutzeroberflächen erstellt, die zunächst als XML-Dateien gespeichert werden. (Free Software Foundation, 2017) Beim Erstellen einer grafischen Benutzeroberfläche besteht der erste Schritt darin, den Fenstertyp auszuwählen, in dem Objekte platziert werden können. Mit dem sogenannten Layout können Sie auch bei einer Änderung der Fenstergröße sicherstellen, dass die erstellten Objekte korrekt angezeigt werden. Die erstellten Objekte werden dann in der "Objektanzeige" aufgelistet und können im Fenster "Eigenschaften" weiter definiert werden. Unter "Ressourcen" können Sie Ressourcendateien erstellen, um integrierte Ressourcen wie Bilder oder Symboldateien zu verwalten. Um einen ereignisgesteuerten Programmablauf bzw. eine ereignisgesteuerte Kommunikation zwischen Programmelementen zu erreichen, müssen die Elemente bzw. Aktionen miteinander verbunden werden. Dies wird durch das Konzept der Signalschlitze erreicht. Das Element sendet nach einem Ereignis (zB nach einem Mausklick) ein Signal. Rufen Sie dann den zuvor verbundenen Slot (Funktion) eines anderen Elements auf. Einige dieser Links können Sie mit Qt Designer anhören. Qt Designer unterstützt jedoch nur vordefinierte Qt-Funktionen, sodass benutzerdefinierte Signale und Slots nicht über eine grafische Benutzeroberfläche verbunden werden können, daher müssen sie manuell vom Programmierer implementiert werden (Summerfield, 2007) Read Less