Interface creation/it: Difference between revisions

From FreeCAD Documentation
(Created page with "=== Interfaccia completamente in codice Python ===")
(Created page with "Per esempi su questo metodo vedi Creazione dell'interfaccia completamente in Python.")
Line 41: Line 41:
* This method is recommended only for small interfaces that don't define more than a few widgets, for example in [[Macros|macros]].
* This method is recommended only for small interfaces that don't define more than a few widgets, for example in [[Macros|macros]].


For examples on this method see [[Dialog_creation|Interface creation completely in Python]].
Per esempi su questo metodo vedi [[Dialog_creation/it|Creazione dell'interfaccia completamente in Python]].





Revision as of 13:36, 11 December 2022

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

In this method the interface is defined in a .ui file (an XML document that defines the structure of the interface), which is then imported into Python code that uses it. This is the recommended approach.

  • It allows the programmer to work with the graphical interface separately from the logic that will use it.
  • It allows anybody to look at the interface alone, that is, the .ui file, without having to run Python code.
  • The .ui file may be designed by anybody without programming knowledge.
  • The .ui interface can be used in a standalone window (modal), or in an embedded window (non-modal); therefore, this method is ideal to create custom task panels.
  • Since the .ui file just describes the "appearance" of the interface, it does not need to be tied to a particular programming language; it may be used both in Python and C++ code.

Interfaccia completamente in codice 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.

Per esempi su questo metodo vedi Creazione dell'interfaccia completamente in Python.