PySide

From FreeCAD Documentation
Revision as of 12:26, 13 May 2020 by David69 (talk | contribs) (Created page with "Normalement, le module {{incode|PySide}} fournit un support pour Qt4, tandis que {{incode|PySide2}} fournit un support pour Qt5. Cependant, dans FreeCAD, il n'est pas nécessa...")

Introduction

PySide est un outil Python mutiplateforme obligatoire pour créer des GUI en Qt. FreeCAD utilise PySide pour tous les objectifs de la GUI (interface utilisateur graphique) dans Python. PySide est une alternative à PyQt qui était auparavant utilisée par FreeCAD. PySide à une licence plus permissive. Voir Differences Between PySide and PyQt pour plus d'information sur ces différences.

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 PySide fournit un support pour Qt4, tandis que PySide2 fournit un support pour Qt5. Cependant, dans FreeCAD, il n'est pas nécessaire d'utiliser directement PySide2 car un module spécial PySide est inclus pour gérer Qt5.

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

/usr/share/freecad/Ext/PySide

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

PySide2.QtCore -> PySide.QtCore
PySide2.QtGui -> PySide.QtGui
PySide2.QtSvg -> PySide.QtSvg
PySide2.QtUiTools -> PySide.QtUiTools

The only unusual aspect is that the PySide2.QtWidgets classes are placed in the PySide.QtGui namespace.

PySide2.QtWidgets.QCheckBox -> PySide.QtGui.QCheckBox

PySide information

Les utilisateurs de FreeCAD atteignent souvent les limites tout en utilisant l'interface intégrée. Mais pour les utilisateurs qui souhaitent personnaliser leurs opérations alors l'interface Python existe et est documentée dans le Didacticiel de scripts Python. L'interface Python pour FreeCAD donne une grande flexibilité et augmente la puissance de FreeCAD. Pour cette interaction, utilisateur Python et Freecad , nous utilisons PySide qui est est documenté sur cette page.

Python offre la mention "print" qui donne le code:

print 'Hello World'

Avec l'instruction Python print vous avez seulement un contrôle limité de l'apparence et du comportement. PySide fournit le contrôle manquant et gère également les environnements (tels que l'environnement de fichier macro FreeCAD) où les installations intégrées de Python ne sont pas suffisantes

Les capacités de PySide varient de:

à

Familiarisez-vous avec des exemples concrets de PySide

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.