Creare l'interfaccia
Introduzione
Gli utenti esperti hanno la possibilità di creare delle interfacce che li aiutino a produrre strumenti complessi per i loro addon personalizzati, come le macro o interi ambienti.
Le interfacce vengono create usando PySide, che è una libreria per l'utilizzo di Qt con Python.
Due metodi generali per creare delle interfacce, includendo l'interfaccia nel file Python o usando i file .ui.
Descrizione
Esistono in genere due modi per creare delle interfacce con PySide.
Interfaccia in un file .ui
Con questo metodo l'interfaccia è definita in un file .ui (un documento XML che definisce la struttura dell'interfaccia), che viene poi importato nel codice Python che lo utilizza. Questo è l'approccio consigliato.
- Consente al programmatore di lavorare con l'interfaccia grafica separatamente dalla logica che la utilizzerà.
- Permette a chiunque di guardare solo l'interfaccia, cioè il file .ui, senza dover eseguire codice Python.
- Il file .uipuò essere progettato da chiunque non abbia conoscenze di programmazione.
- L'interfaccia .uipuò essere utilizzata in una finestra autonoma (modale) o in una finestra incorporata (non modale); pertanto, questo metodo è ideale per creare una Scheda Azioni.
- Dato che il file .uidescrive solo "l'aspetto" dell'interfaccia, non ha bisogno di essere legato a un particolare linguaggio di programmazione; può essere utilizzato sia nel codice Python che in quello C++.
Interfaccia completamente in codice Python
In questo metodo l'intera interfaccia è definita da diverse chiamate Python.
- Questo è un vecchio modo di lavorare con le interfacce.
- Questo metodo produce un codice molto prolisso perché molti dettagli dell'interfaccia devono essere specificati manualmente.
- Non è semplice separare l'interfaccia dalla logica che utilizza quel codice, il che significa che un utente dovrebbe eseguire il file Python nel contesto corretto per vedere come dovrebbe apparire l'interfaccia.
- Questo metodo ha il vantaggio che diverse interfacce possono essere contenute all'interno di un singolo documento, a costo di rendere il file molto grande.
- Questo metodo è consigliato solo per piccole interfacce che non definiscono più di alcuni widget, ad esempio in macro.
Per esempi su questo metodo vedi Creare delle finestre di dialogo.
 Power user documentation
 Power user documentation
        - FreeCAD scripting: Python, Introduction to Python, Python scripting tutorial, FreeCAD Scripting Basics
- Modules: Builtin modules, Units, Quantity
- Workbenches: Workbench creation, Gui Commands, Commands, Installing more workbenches
- Meshes and Parts: Mesh Scripting, Topological data scripting, Mesh to Part, PythonOCC
- 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
- Other: Expressions, Code snippets, Line drawing function, FreeCAD vector math library (deprecated)
- Hubs: User hub, Power users hub, Developer hub