Création d'interface

From FreeCAD Documentation
Revision as of 18:23, 25 January 2021 by David69 (talk | contribs) (Created page with "=== Interface complètement en code Python ===")

Introduction

Les utilisateurs avancés ont la possibilité de Créer des interfaces pour les aider à produire des outils complexes pour leurs addons personnalisés, 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++.

Pour des exemples sur cette méthode, voir Création d'interface avec des fichiers UI.

Interface complètement en code Python

In this method the entire interface is defined by several Python calls.

  • This is an older way of working with interfaces.
  • This method produces very verbose code because many details of the interface need to be specified by hand.
  • It is not simple to separate the interface from the logic that uses that code, meaning that a user would need to run the Python file in the correct context in order to see how the interface would look.
  • This method has the advantage that several interfaces may be contained within a single document, at the expense of making the file very large.
  • This method is recommended only for small interfaces that don't define more than a few widgets, for example in macros.

For examples on this method see Interface creation completely in Python.