PySide/de

PySide
PySide ist eine Anbindung für Python an die Plattform übergreifende Qt-Bibliothek zur Erstellung von grafischen Benutzeroberflächen. FreeCAD verwendet PySide an allen Stellen, an denen von Python aus die grafische Benutzeroberfläche verwendet wird. PySide ist eine Alternative für die PyQt-Bibliothek mit einer weniger strikten Lizenz. PyQt wurde in vorherigen Versionen von FreeCAD verwendet. Siehe Differences Between PySide and PyQt für weitere Informationen zu den Unterschieden zwischen beiden Bibliotheken.

PySide in FreeCAD with Qt5
FreeCAD was developed to be used with Python 2 and Qt4. As these two libraries became obsolete, FreeCAD transitioned to Python 3 and Qt5. In most cases this transition was done without needing to break backwards compatibility.

Normally, the module provides support for Qt4, while  provides support for Qt5. However, in FreeCAD, there is no need to use directly, as a special  module is included to handle Qt5.

This module is located in the  directory of an installation of FreeCAD compiled for Qt5.

This module just imports the necessary classes from, but places them in the namespace. This means that in most cases the same code can be used with both Qt4 and Qt5, as long as it imports.

The only unusual aspect is that the classes are placed in the  namespace.

PySide information
Oft kann man mit FreeCAD alles notwendige mit den vorhandenen Werkzeugen erreichen. Für Anwender, die ihren Arbeitsvorgänge an ihre speziellen Bedürfnisse anpassen möchten, gibt es die Scriptsprache Python. Eine Einführung in Python gibt das Python Scripting Tutorial. Der Zugriff mit Python auf FreeCAD ist sehr flexibel und weitreichend. Die Benutzerinteraktion erfolgt mit FreeCAD erfolgt von Python aus mit PySide. Davon handelt diese Einführung.

Python besitzt für nicht grafische Interaktion die 'print' Anweisung, die wie folgt kodiert wird:

Die print-Anweisung von Python erlaubt nur eine begrenzten Einfluss auf das Aussehen und das Verhalten. PySide liefert die fehlende Kontrollmöglichkeiten und steht für verschiedene Umgebungen, wie die Makroumgebung zur Verfügung, wo die eingebauten Fähigkeiten zur grafischen Interaktion nicht ausreichen.

PySides Fähigkeiten reichen von:



bis:




 * Beginner PySide Examples (Hello World, announcements, enter text, enter number)
 * Medium PySide Examples (window sizing, hiding widgets, popup menus, mouse position, mouse events)
 * Advanced PySide Examples (widgets etc.)

Die zu behandelnde Materie wird dabei auf drei Teile aufgeteilt, die sich in der Detailtiefe unterscheiden mit der PySide, Python und die FreeCAD-Interna dargestellt werden. Der erste Teil enthält einen Überblick und Hintergrundmaterial zu PySide und wie es funktioniert, während der zweite und dritte Teil hauptsächlich Beispiele für Programmcode auf verschiedenen Leveln enthalten.

Die Intention ist, dass die zugehörigen Seiten einfachen Pythoncode zur Anwendung von PySide vorstellen, der es einem Anwender erlaubt, sein Problem durch einfaches Kopieren und Einfügen der Beispiele zu lösen, ohne allzusehr von der eigentlichen Aufgabenstellung in FreeCAD abzulenken. Gegebenenfalls sind nur noch kleinere Anpassungen vorzunehmen. Die Hoffnung ist, dass damit nicht mehr das ganze Internet auf der Suche nach Antworten auf PySide-Fragen durchforstet werden muss. Gleichzeitig sollen jedoch damit nicht die zahlreichen im Web vorhandenen kompakten PySide-Tutorials und Dokumentationsseiten überflüssig gemacht werden.