PySide/de

Einführung
Die PySide Bibliothek ermöglicht den Zugriff auf den plattformübergreifenden grafischen Benutzeroberflächen Werkzeugsatz (GUI) Qt. Qt ist eine Sammlung von C++ Bibliotheken, aber mit Hilfe von PySide können die gleichen Komponenten von Python aus verwendet werden. Jede grafische Schnittstelle, die in C++ erstellt werden kann, kann auch in Python erstellt und modifiziert werden. Ein Vorteil der Verwendung von Python ist, dass Qt Oberflächen entwickelt und live getestet werden können, da wir die Quelldateien nicht kompilieren müssen.

Wenn du Installation FreeCAD, solltest du sowohl Qt als auch PySide als Teil des Pakets erhalten. Wenn du selbst Kompilierst, dann musst du überprüfen, ob diese beiden Bibliotheken installiert sind, damit FreeCAD korrekt läuft. Natürlich wird PySide nur funktionieren, wenn Qt vorhanden ist.

In der Vergangenheit benutzte FreeCAD PyQt, eine weitere Qt Bindung für Python, aber 2013 (1dc122dc9a) migrierte das Projekt zu PySide, weil es eine zulässigere Lizenz hat.

Für weitere Informationen siehe:
 * Wikipedia:PySide
 * Unterschiede zwischen PySide und PyQt



PySide in FreeCAD mit Qt5
FreeCAD wurde für die Verwendung mit Python 2 und Qt4 entwickelt. Als diese beiden Bibliotheken veraltet waren, wechselte FreeCAD zu Python 3 und Qt5. In den meisten Fällen erfolgte dieser Übergang, ohne dass die Rückwärtskompatibilität unterbrochen werden musste.

Normalerweise bietet das Modul Unterstützung für Qt4, während  Unterstützung für Qt5 bietet. In FreeCAD ist es jedoch nicht notwendig, direkt zu verwenden, da ein spezielles  Modul enthalten ist, um Qt5 zu behandeln.

Dieses Modul befindet sich im  Verzeichnis einer für Qt5 kompilierten FreeCAD Installation.

Dieses Modul importiert einfach die erforderlichen Klassen aus, platziert sie aber im Namensraum. Das bedeutet, dass in den meisten Fällen derselbe Code sowohl mit Qt4 als auch mit Qt5 verwendet werden kann, solange es das einzelne Modul importiert.

Der einzige ungewöhnliche Aspekt ist, dass die Klassen im  Namensraum platziert werden.

Anfang

Beispiele für PySide Verwendung

 * PySide Anfänger Beispiele, Hallo Welt, Ankündigungen, Text eingeben, Nummer eingeben.
 * PySide Beispiele für Fortgeschrittene, Fenstergröße, Widgets ausblenden, Popup Menüs, Mausposition, Mausereignisse.
 * PySide Erweiterte Beispiele, viele Widgets.

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.

Anfang

Dokumentation
There are some differences in handling of widgets in Qt4 (PySide) and Qt5 (PySide2). The programmer should be aware of these incompatibilities, and should consult the official documentation if something doesn't seem to work as expected on a given platform. Nevertheless, Qt4 is considered obsolete, so most development should target Qt5 and Python 3.

The PySide documentation refers to the Python-style classes; however, since Qt is originally a C++ library, the same information should be available in the corresponding C++ reference.
 * Qt Modules available from PySide2 (Qt5).
 * All Qt classes by module in Qt5 for C++.
 * Qt Modules available from PySide (Qt4).

Anfang