PySide/fr

Introduction
La bibliothèque PySide donne accès à la boîte à outils d'interface utilisateur graphique (GUI) Qt de Python. Qt est une collection de bibliothèques C++, mais avec l'aide de PySide, les mêmes composants peuvent être utilisés à partir de Python. Chaque interface graphique qui peut être créée en C++, peut également être créée et modifiée en Python. Un avantage de l'utilisation de Python est que les interfaces Qt peuvent être développées et testées en direct, car nous n'avons pas besoin de compiler les fichiers source.

Lorsque vous installez FreeCAD, vous devriez obtenir à la fois Qt et PySide dans le package. Si vous compilez vous-même, vous devez vérifier que ces deux bibliothèques sont installées pour que FreeCAD fonctionne correctement. Bien sûr, PySide ne fonctionnera que si Qt est présent.

Dans le passé, FreeCAD utilisait PyQt, une autre liaison Qt pour Python, mais en 2013 (1dc122dc9a) le projet a migré vers PySide car il a une licence plus permissible.

For more information see:
 * Wikipedia:PySide
 * Differences Between PySide and PyQt



PySide dans FreeCAD avec Qt5
FreeCAD a été développé pour être utilisé avec Python 2 et Qt4. Comme ces deux bibliothèques sont devenues obsolètes, FreeCAD est passé à Python 3 et Qt5. Dans la plupart des cas, cette transition s'est faite sans qu'il soit nécessaire de rompre la rétrocompatibilité.

Normalement, le module fournit un support pour Qt4, tandis que  fournit un support pour Qt5. Cependant, dans FreeCAD, il n'est pas nécessaire d'utiliser directement car un module spécial  est inclus pour gérer Qt5.

Ce module est situé dans le répertoire  d'une installation de FreeCAD compilée pour Qt5.

Ce module importe simplement les classes nécessaires depuis mais les place dans l'espace de noms. Cela signifie que dans la plupart des cas, le même code peut être utilisé avec Qt4 et Qt5, à condition d'importer.

Le seul aspect inhabituel est que les classes sont placées dans l'espace de noms.

top

Examples of PySide use
Familiarisez-vous avec des exemples concrets de PySide
 * Exemples débutants PySide (Bonjour tout le monde, annonces, saisir du texte, entrez le numéro)
 * Exemples perfectionnement PySide (fenêtre dimensionnement, cacher des widgets, des menus contextuels, position de la souris, les événements de souris)
 * Exemples avancés PySide (widgets, etc.)

Elles divisent l'objet en 3 parties, différenciées selon le niveau de connaissance de PySide, Python et l FreeCAD. La première page est un aperçu et un documents de référence donnant une description de PySide et comment il est mis en place tandis que les deuxième et troisième pages sont pour la plupart des exemples de code à différents niveaux.

L'intention est que les pages associées fourniront du code Python simple pour  exécuter PySide de sorte que l'utilisateur travaillant sur un problème peut facilement copier le code, le collez-le dansson propre travail, l'adapter si nécessaire et retourner à leur résolution de problèmes avec FreeCAD. J'espère qu'ils n' auront pas à aller fouiller à travers l'Internet à la recherche de réponses aux questions PySide. Dans le même temps cette page n' est pas destinée à remplacer les différents tutoriels PySide complets et les sites de référence disponibles sur le web.

top

Documentation
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).

top