Introducción
Los usuarios avanzados tienen la posibilidad de crear interfaces para ayudarlos a producir herramientas complejas para sus addons personalizados, como macros o Entornos de Trabajo completos.
Las interfaces se crean utilizando PySide, que es una biblioteca para usar Qt con Python.
Dos métodos generales para crear interfaces: incluyendo la interfaz en el archivo Python o utilizando archivos .ui.
Descripción
Normalmente existen dos maneras de crear interfaces con PySide.
Interfaz en un archivo .ui
En este método, la interfaz se define en un archivo .ui (un documento XML que define la estructura de la interfaz), que luego se importa al código Python que la utiliza. Este es el enfoque recomendado.
- Permite al programador trabajar con la interfaz gráfica de forma independiente de la lógica que la utilizará.
- Permite que cualquier persona vea la interfaz, es decir, el archivo
.ui, sin necesidad de ejecutar código Python.
- El archivo
.ui puede ser diseñado por cualquier persona sin conocimientos de programación.
- La interfaz
.ui se puede utilizar en una ventana independiente (modal) o en una ventana integrada (no modal); por lo tanto, este método es ideal para crear paneles de tareas personalizados.
- Dado que el archivo
.ui solo describe la "apariencia" de la interfaz, no necesita estar vinculado a un lenguaje de programación en particular. Puede utilizarse tanto en código Python como en código C++.
Interfaz completamente en código Python
En este método, toda la interfaz se define mediante varias llamadas a Python.
- Esta es una forma antigua de trabajar con interfaces.
- Este método produce código muy extenso, ya que muchos detalles de la interfaz deben especificarse manualmente.
- No es sencillo separar la interfaz de la lógica que utiliza ese código, lo que significa que el usuario tendría que ejecutar el archivo Python en el contexto correcto para ver cómo se vería la interfaz.
- Este método tiene la ventaja de que varias interfaces pueden estar contenidas en un solo documento, aunque esto aumenta considerablemente el tamaño del archivo.
- Este método se recomienda solo para interfaces pequeñas que no definen más que unos pocos widgets, por ejemplo, en macros.
Para ver ejemplos de este método, consulte Creación de interfaz completamente en Python.
Template:Documento
Power user documentation
- Parametric objects: Scripted objects, Viewproviders (Custom icon in tree view)
- Scenegraph: Coin (Inventor) scenegraph, Pivy
- Graphical interface: Interface creation, Interface creation completely in Python (1, 2, 3, 4, 5), PySide, PySide examples beginner, intermediate, advanced
- Macros: Macros, How to install macros
- Embedding: Embedding FreeCAD, Embedding FreeCADGui