Interface creation/fr: Difference between revisions

From FreeCAD Documentation
(Created page with "{{Docnav/fr |PySide |Création d'une boite de dialogue }}")
No edit summary
 
(One intermediate revision by one other user not shown)
Line 10: Line 10:
== Introduction ==
== Introduction ==


Les utilisateurs avancés ont la possibilité de [[Interface_creation/fr|Créer des interfaces]] pour les aider à produire des outils complexes pour leurs [[Addon/fr|addons]] personnalisés, tels que des [[Macros/fr|macros]] ou des [[Workbenches/fr|ateliers]] complets.
Les utilisateurs avancés ont la possibilité de [[Interface_creation/fr|créer des interfaces]] pour les aider à produire des outils complexes pour leurs [[Addon/fr|extensions]] personnalisées, tels que des [[Macros/fr|macros]] ou des [[Workbenches/fr|ateliers]] complets.


Les interfaces sont créées en utilisant [[PySide/fr|PySide]], qui est une bibliothèque permettant d'utiliser Qt avec [[Python/fr|Python]].
Les interfaces sont créées en utilisant [[PySide/fr|PySide]], qui est une bibliothèque permettant d'utiliser Qt avec [[Python/fr|Python]].
Line 29: Line 29:
* L'interface {{incode|.ui}} peut être utilisée dans une fenêtre autonome (modale), ou dans une fenêtre intégrée (non modale); par conséquent, cette méthode est idéale pour créer des [[Task_panel/fr|Panneau des tâches]] personnalisés.
* L'interface {{incode|.ui}} peut être utilisée dans une fenêtre autonome (modale), ou dans une fenêtre intégrée (non modale); par conséquent, cette méthode est idéale pour créer des [[Task_panel/fr|Panneau des tâches]] personnalisés.
* Puisque le fichier {{incode|.ui}} décrit juste "l'apparence" de l'interface, il n'a pas besoin d'être lié à un langage de programmation particulier; il peut être utilisé à la fois dans le code [[Python/fr|Python]] et C++.
* Puisque le fichier {{incode|.ui}} décrit juste "l'apparence" de l'interface, il n'a pas besoin d'être lié à un langage de programmation particulier; il peut être utilisé à la fois dans le code [[Python/fr|Python]] et C++.

Pour des exemples sur cette méthode, voir [[Interface_creation_with_UI_files/fr|Création d'interface avec des fichiers UI]].


=== Interface complètement en code Python ===
=== Interface complètement en code Python ===

Latest revision as of 14:55, 27 November 2022

Introduction

Les utilisateurs avancés ont la possibilité de créer des interfaces pour les aider à produire des outils complexes pour leurs extensions personnalisées, tels que des macros ou des ateliers complets.

Les interfaces sont créées en utilisant PySide, qui est une bibliothèque permettant d'utiliser Qt avec Python.

Deux méthodes générales pour créer des interfaces, en incluant l'interface dans le fichier Python, ou en utilisant des fichiers .ui.

Description

Il existe généralement deux façons de créer des interfaces avec PySide.

Interface dans un fichier .ui

Dans cette méthode, l'interface est définie dans un fichier .ui (un document XML qui définit la structure de l'interface), qui est ensuite importé dans le code Python qui l'utilise. C'est l'approche recommandée.

  • Il permet au programmeur de travailler avec l'interface graphique séparément de la logique qui l'utilisera.
  • Il permet à quiconque de regarder l'interface seule, c'est-à-dire le fichier .ui, sans avoir à exécuter du code Python.
  • Le fichier .ui peut être conçu par n'importe qui sans connaissances en programmation.
  • L'interface .ui peut être utilisée dans une fenêtre autonome (modale), ou dans une fenêtre intégrée (non modale); par conséquent, cette méthode est idéale pour créer des Panneau des tâches personnalisés.
  • Puisque le fichier .ui décrit juste "l'apparence" de l'interface, il n'a pas besoin d'être lié à un langage de programmation particulier; il peut être utilisé à la fois dans le code Python et C++.

Interface complètement en code Python

Dans cette méthode, toute l'interface est définie par plusieurs appels Python.

  • Il s'agit d'une ancienne façon de travailler avec les interfaces.
  • Cette méthode produit un code très détaillé car de nombreux détails de l'interface doivent être spécifiés à la main.
  • Il n'est pas simple de séparer l'interface de la logique qui utilise ce code, ce qui signifie qu'un utilisateur aurait besoin d'exécuter le fichier Python dans le bon contexte afin de voir à quoi ressemblerait l'interface.
  • Cette méthode a l'avantage que plusieurs interfaces peuvent être contenues dans un seul document, au détriment de rendre le fichier très volumineux.
  • Cette méthode n'est recommandée que pour les petites interfaces qui ne définissent pas plus de quelques widgets, par exemple dans macros.

Pour des exemples sur cette méthode, voir Création d'interface complètement en Python.