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 (commit 1dc122dc9a) le projet a migré vers PySide car il a une licence plus permissible.

Pour plus d'informations, consultez:
 * Wikipédia: PySide
 * Différences entre PySide et 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 et 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, tant que nous utilisons l'unique module.

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

Exemples d'utilisation de PySide

 * Exemples PySide Débutant, bonjour le monde, annonces, entrez du texte, entrez un numéro.
 * Exemples intermédiaires PySide, dimensionnement de la fenêtre, masquage des widgets, menus contextuels, position de la souris, événements de la souris.
 * Exemples avancés de PySide, de nombreux widgets.

Les exemples de PySide sont divisés en 3 parties, différenciées par niveau d'exposition à PySide, Python et les composants internes de FreeCAD. La première page a un aperçu sur PySide; les deuxième et troisième pages sont pour la plupart des exemples de code à différents niveaux.

On s'attend à ce que ces exemples soient utiles pour commencer et par la suite l'utilisateur peut consulter d'autres ressources en ligne ou la documentation officielle.

Documentation
Il existe quelques différences dans la gestion des widgets dans Qt4 (PySide) et Qt5 (PySide2). Le programmeur doit être conscient de ces incompatibilités et consulter la documentation officielle si quelque chose ne semble pas fonctionner comme prévu sur une plateforme donnée. Néanmoins, Qt4 est considéré comme obsolète, donc la plupart des développements devraient cibler Qt5 et Python 3.

La documentation PySide fait référence aux classes de style Python; cependant, puisque Qt est à l'origine une bibliothèque C++, les mêmes informations devraient être disponibles dans la référence C++ correspondante.
 * Modules Qt disponibles sur PySide2 (Qt5).
 * Toutes les classes Qt par module dans Qt5 pour C++.
 * Modules Qt disponibles auprès de PySide (Qt4).