26.3. Console python di QGIS

Come vedrai più avanti in questo capitolo, QGIS è stato progettato con un’architettura a plugin. I plugin possono essere scritti in Python, una lingua molto famosa nel mondo geospaziale.

QGIS ha un’API Python (vedi PyQGIS Developer Cookbook per alcuni esempi di codice) per permettere all’utente di interagire con i suoi oggetti (layer, elementi o interfacce). QGIS ha anche una console Python.

La Console QGIS Python è una shell interattiva per l’esecuzione dei comandi python. Ha anche un editor di file python che permette di modificare e salvare i tuoi script python. Sia la console che l’editor sono basati sul package PyQScintilla2. Per aprire la console vai in Plugins ► Console Python (Ctrl+Alt+P).

26.3.1. La Console Interattiva

La console interattiva è composta da una barra degli strumenti, un’area di input e una di output.

26.3.1.1. Barra degli Strumenti

La barra degli strumenti comprende i seguenti strumenti:

  • clearConsole Pulisci Console per cancellare l’area di output;

  • runConsole Esegui Commando disponibile nell’area di input: è come premere Enter;

  • showEditorConsole Mostra Editor: attiva la modalità L” Editor di Codice;

  • options Opzioni…: apre un finestra di dialogo per configurare le proprietà della console (vedi Impostazioni Console Python);

  • helpContents Aiuto…: visualizza la documentazione corrente.

26.3.1.2. Console

Le funzionalità principali della console sono:

  • Completamento del codice, evidenziazione della sintassi e suggerimenti per le seguenti API:

    • Python

    • PyQGIS

    • PyQt5

    • QScintilla2

    • osgeo-gdal-ogr

  • Ctrl+Alt+Space per visualizzare l’elenco di completamento automatico se abilitato nel Impostazioni Console Python;

  • Eseguire frammenti di codice dall’area di input digitando e premendo Enter o Esegui Comando;

  • Eseguire frammenti di codice dall’area di output usando Enter Selected dal menu contestuale o premendo Ctrl+E;

  • Scorrere la cronologia dei comandi dall’area di input usando i tasti freccia Up e Down ed eseguire il comando che vuoi;

  • Ctrl+Shift+Space per visualizzare la cronologia dei comandi: facendo doppio clic su una riga il comando verrà eseguito. La finestra di dialogo Storico Comandi può anche essere richiamata dal menu contestuale dell’area di input;

  • Salva e cancella la cronologia dei comandi. La cronologia sarà salvata nel file console_history.txt nella cartella attiva user profile;

  • Aprire QGIS C++ API documentazione digitando _api;

  • Aprire QGIS Python API documentazione digitando _pyqgis.

  • Aprire PyQGIS Cookbook digitando _cookbook.

Suggerimento

Riutilizzare comandi effettuati dal pannello di output

Puoi eseguire frammenti di codice dal pannello di output selezionando del testo e premendo Ctrl+E. Non importa se il testo selezionato contiene il prompt dell’interprete (>>>, ...).

../../../_images/python_console.png

Fig. 26.19 La Console Python

26.3.2. L” Editor di Codice

Utilizza il pulsante showEditorConsole Mostra Editor per attivare il widget dell’editor. Ti permette di modificare e salvare i file Python e offre funzionalità avanzate per gestire il codice (commentare e decommentare il codice, controllare la sintassi, condividere il codice via GitHub e molto altro). Le funzionalità principali sono:

  • Completamento del codice, evidenziazione della sintassi e suggerimenti per le seguenti API:

    • Python

    • PyQGIS

    • PyQt5

    • QScintilla2

    • osgeo-gdal-ogr

  • Ctrl+Space per visualizzare la lista di completamento automatico.

  • Condividere frammenti di codice tramite GitHub.

  • Ctrl+4 Controllo della sintassi.

  • Barra di ricerca (aprila con la scorciatoia predefinita dell’ambiente desktop, di solito Ctrl+F):

    • Usa la scorciatoia predefinita dell’ambiente desktop per trovare il successivo/precedente (Ctrl+G e Shift+Ctrl+G);

    • Trova automaticamente la prima corrispondenza mentre si digita nella casella di ricerca;

    • Trova automaticamente la prima corrispondenza mentre si digita nella casella di ricerca;

    • Premendo Esc si chiude la barra di ricerca.

  • Ispettore Oggetto: un visualizzatore di classi e funzioni;

  • Vai alla definizione di un oggetto con un clic del mouse (da Ispettore Oggetto);

  • Esegui frammenti di codice con il comando runConsole Esegui selezionate nel menu contestuale;

  • Esegui l’intero script con il comando start Esegui Script (questo crea un file compilato in byte con estensione .pyc).

Nota

L’esecuzione parziale o totale di uno script dal Editor del Codice produce il risultato nell’area di output della console.

../../../_images/python_console_editor.png

Fig. 26.20 L’editor Console Python

Suggerimento

Salvare le opzioni

Per salvare lo stato dei widget della console devi chiudere la console Python dal pulsante di chiusura. Questo permette di salvare la geometria da ripristinare al prossimo avvio.