Difference between revisions of "PySide/fr"

From FreeCAD Documentation
Jump to navigation Jump to search
(Created page with "{{Caption|Exemples créés avec PySide. À gauche: un simple dialogue. À droite: un dialogue plus complexe avec des graphiques.}}")
 
(15 intermediate revisions by 2 users not shown)
Line 7: Line 7:
 
La bibliothèque [[PySide/fr|PySide]] donne accès à la boîte à outils d'interface utilisateur graphique (GUI) Qt de [[Python/fr|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/fr|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.
 
La bibliothèque [[PySide/fr|PySide]] donne accès à la boîte à outils d'interface utilisateur graphique (GUI) Qt de [[Python/fr|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/fr|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 [[Installation/fr|installez]] FreeCAD, vous devriez obtenir à la fois Qt et PySide dans le package. Si vous [[Compiling/fr|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.
+
Lorsque vous [[Installing/fr|installez]] FreeCAD, vous devriez obtenir à la fois Qt et PySide dans le package. Si vous [[Compiling/fr|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 ([https://github.com/FreeCAD/FreeCAD/commit/1dc122dc9a 1dc122dc9a]) le projet a migré vers PySide car il a une [[licence/fr|licence]] plus permissible.
 
Dans le passé, FreeCAD utilisait PyQt, une autre liaison Qt pour Python, mais en 2013 ([https://github.com/FreeCAD/FreeCAD/commit/1dc122dc9a 1dc122dc9a]) le projet a migré vers PySide car il a une [[licence/fr|licence]] plus permissible.
Line 18: Line 18:
 
{{Caption|Exemples créés avec PySide. À gauche: un simple dialogue. À droite: un dialogue plus complexe avec des graphiques.}}
 
{{Caption|Exemples créés avec PySide. À gauche: un simple dialogue. À droite: un dialogue plus complexe avec des graphiques.}}
  
<div class="mw-translate-fuzzy">
+
==PySide dans FreeCAD avec Qt5==
== PySide dans FreeCAD avec Qt5 ==
 
</div>
 
  
 
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é.
 
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é.
  
<div class="mw-translate-fuzzy">
 
 
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écessaire d'utiliser directement {{incode|PySide2}} car un module spécial {{incode|PySide}} est inclus pour gérer Qt5.
 
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écessaire d'utiliser directement {{incode|PySide2}} car un module spécial {{incode|PySide}} est inclus pour gérer Qt5.
</div>
 
  
 
Ce module {{incode|PySide}} est situé dans le répertoire {{incode|Ext/}} d'une installation de FreeCAD compilée pour Qt5.
 
Ce module {{incode|PySide}} est situé dans le répertoire {{incode|Ext/}} d'une installation de FreeCAD compilée pour Qt5.
Line 33: Line 29:
 
}}
 
}}
  
<div class="mw-translate-fuzzy">
+
Ce module importe simplement les classes nécessaires depuis {{incode|PySide2}} et les place dans l'espace de noms {{incode|PySide}}. 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 {{incode|PySide}}.
Ce module importe simplement les classes nécessaires depuis {{incode|PySide2}} mais les place dans l'espace de noms {{incode|PySide}}. Cela signifie que dans la plupart des cas, le même code peut être utilisé avec Qt4 et Qt5, à condition d'importer {{incode|PySide}}.
 
</div>
 
 
{{Code|code=
 
{{Code|code=
 
PySide2.QtCore -> PySide.QtCore
 
PySide2.QtCore -> PySide.QtCore
Line 48: Line 42:
 
}}
 
}}
  
[[#top|top]]
+
[[#top|En haut]]
  
==Examples of PySide use==
+
== Exemples d'utilisation de PySide ==
  
<div class="mw-translate-fuzzy">
+
* [[PySide_Beginner_Examples/fr|Exemples PySide Débutant]], bonjour le monde, annonces, entrez du texte, entrez un numéro.
'''Familiarisez-vous avec des exemples concrets de PySide'''
+
* [[PySide_Intermediate_Examples/fr|Exemples intermédiaires PySide]], dimensionnement de la fenêtre, masquage des widgets, menus contextuels, position de la souris, événements de la souris.
* [[PySide_Beginner_Examples/fr|Exemples débutants PySide]] (Bonjour tout le monde, annonces, saisir du texte, entrez le numéro)
+
* [[PySide_Advanced_Examples/fr|Exemples avancés de PySide]], de nombreux widgets.
* [[PySide_Intermediate_Examples/fr| Exemples perfectionnement PySide]] (fenêtre dimensionnement, cacher des widgets, des menus contextuels, position de la souris, les événements de souris)
 
* [[PySide_Advanced_Examples/fr| Exemples avancés PySide]] (widgets, etc.)
 
</div>
 
  
<div class="mw-translate-fuzzy">
+
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.
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.
 
</div>
 
  
<div class="mw-translate-fuzzy">
+
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.
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.
 
</div>
 
  
[[#top|top]]
+
[[#top|En haut]]
  
 
==Documentation==
 
==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.
+
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.
  
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.
+
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.
* [https://doc.qt.io/qtforpython/modules.html Qt Modules] available from PySide2 (Qt5).
+
* [https://doc.qt.io/qtforpython/modules.html Modules Qt] disponibles sur PySide2 (Qt5).
* [https://doc.qt.io/qt-5/modules-cpp.html All Qt classes by module] in Qt5 for C++.
+
* [https://doc.qt.io/qt-5/modules-cpp.html Toutes les classes Qt par module] dans Qt5 pour C++.
* [https://deptinfo-ensip.univ-poitiers.fr/ENS/pyside-docs/index.html Qt Modules] available from PySide (Qt4).
+
* [https://deptinfo-ensip.univ-poitiers.fr/ENS/pyside-docs/index.html Modules Qt] disponibles auprès de PySide (Qt4).
  
[[#top|top]]
+
[[#top|En haut]]
  
 
{{Powerdocnavi{{#translation:}}}}
 
{{Powerdocnavi{{#translation:}}}}

Latest revision as of 20:49, 19 October 2020

Other languages:
Bahasa Indonesia • ‎Deutsch • ‎English • ‎Türkçe • ‎español • ‎français • ‎italiano • ‎polski • ‎português • ‎română • ‎svenska • ‎čeština • ‎русский • ‎日本語

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.

Pour plus d'informations, consultez:

PySideScreenSnapshot1.jpg PySideScreenSnapshot2.jpg

Exemples créés avec PySide. À gauche: un simple dialogue. À droite: un dialogue plus complexe avec des graphiques.


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.

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

/usr/share/freecad/Ext/PySide

Ce module importe simplement les classes nécessaires depuis PySide2 et les place dans l'espace de noms PySide. 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 PySide.

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

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

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

En haut

Exemples d'utilisation de PySide

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.

En haut

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.

En haut