Importante
La traduzione è uno sforzo comunitario you can join. Questa pagina è attualmente tradotta al 100.00%.
25.3. Console python di GIS
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.
QGIS Python Console è una shell interattiva per l’esecuzione di comandi Python. Dispone anche di un editor di file Python che consente di modificare e salvare gli script Python. Sia la console che l’editor sono basati sul pacchetto PyQScintilla2. Per aprire la console vai su (Ctrl+Alt+P) o fai clic sull’icona
Python Console nella Barra degli Strumenti Plugins.
25.3.1. La Console Interattiva
La console è un interprete Python che consente di eseguire comandi Python. I moduli di QGIS (analysis, core, gui, server, processing, 3d) e Qt (QtCore, QtGui, QtNetwork, QtWidgets, QtXml) e i moduli math, os, re e sys di Python sono già importati e possono essere utilizzati direttamente.
La console interattiva è composta da una barra degli strumenti, un’area di input e una di output.
Fig. 25.17 La Console Python
25.3.1.1. Barra degli Strumenti
La barra degli strumenti comprende i seguenti strumenti:
Esegui Comando disponibile nell’area di immissione: lo stesso che premere Enter;
Mostra Editor: attiva la modalità L” Editor di Codice;
Opzioni…: apre una finestra di dialogo per configurare console properties;
Aiuto… fornisce un menu per accedere a diverse documentazioni:Python Console Help (la pagina corrente)
Aggancia Editor Codice per agganciare o sganciare il pannello nell’interfaccia QGIS
25.3.1.2. Area di immissione
Le caratteristiche principali dell’area di immissione della Console sono:
Completamento del codice, evidenziazione della sintassi e suggerimenti per le seguenti API:
Python
PyQGIS
PyQt5
QScintilla2
osgeo-gdal-ogr
osgeo-geos
Ctrl+Alt+Space per visualizzare l’elenco di completamento automatico se abilitato nel Impostazioni 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.txtnella cartella attiva user profile;Digita i seguenti comandi speciali:
?per visualizzare una guida della Console Python._apiper aprire la documentazione QGIS C++ API o_api(object)per la documentazione di un oggetto specifico (nella documentazione di QGIS C++ API o Qt API)_pyqgisper aprire la documentazione di QGIS Python API oppure_pyqgis(object)per la documentazione di un oggetto specifico (nella documentazione di QGIS Python API o Qt API)_cookbookper aprire PyQGIS Cookbook.!seguito da un comando per eseguire comandi di shell dalla console Python. La console avvierà un sottoprocesso e inoltrerà il suo output all’Output della console Python. Mentre il sottoprocesso è in esecuzione, l’Input della console Python passa alla modalità STDIN e inoltra i caratteri inseriti al processo figlio. In questo modo è possibile inviare una conferma quando il programma figlio la richiede. Quando la console è in modalità STDIN, premendo Ctrl+C si arresta il sottoprocesso. È anche possibile trasferire il risultato di un comando a una variabile con la sintassivar = !cmd>>> !echo QGIS Rocks! QGIS Rocks >>> !gdalinfo --version GDAL 3.10.3, released 2025/04/01 >>> !pip install black # Install black python formatter using pip (if available) >>> sql_formats = !ogrinfo --formats | grep SQL >>> sql_formats ['SQLite -vector- (rw+v): SQLite / Spatialite', ' MSSQLSpatial -vector- (rw+): Microsoft SQL Server Spatial Database', ' PostgreSQL -vector- (rw+): PostgreSQL/PostGIS', ' MySQL -vector- (rw+): MySQL', ' PGDUMP -vector- (w+v): PostgreSQL SQL dump']
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 (>>>, ...).
25.3.2. L” Editor di Codice
Utilizza il pulsante
Mostra Editor nella Console interattiva per attivare il widget dell’editor. Esso consente di modificare e salvare script Python e offre funzionalità avanzate per la gestione del codice. A seconda delle enabled settings, fornisce varie funzionalità che facilitano la scrittura del codice, quali il completamento automatico, l’evidenziazione della sintassi e i suggerimenti di chiamata per le API supportate. Sono inoltre disponibili l’indentazione automatica, l’inserimento di parentesi, l’inserimento di commenti nel codice e il controllo della sintassi.
Fig. 25.18 L’editor Console Python
L’area dell’editor di codice consente di lavorare contemporaneamente su diversi script, ciascuno in una scheda specifica. Premi
Nuovo editor per aggiungere una nuova scheda. È possibile eseguire uno script, in tutto o in parte, dall” Code Editor e visualizzarne il risultato nell’area di output della console interattiva.
Suggerimento
Premi Ctrl+Space per visualizzare la lista di completamento automatico.
Nella parte superiore della finestra di dialogo, una barra degli strumenti consente di accedere ad alcuni comandi. Facendo clic con il tasto destro del mouse sull’area di modifica si aprono ulteriori opzioni. Tutti gli strumenti disponibili sono descritti nella tabella seguente.
Nome Strumento |
Funzione |
Posizione |
|---|---|---|
Carica un file Python nella finestra di dialogo dell’editor di codice, come nuova scheda |
Barra degli Strumenti |
|
Apre uno script Python salvato nel programma esterno predefinito per la modifica dei file Python |
||
Salva lo script corrente |
||
Salva lo script corrente come nuovo file |
||
Esegui l’intero script con il comando nella console interattiva (questo crea un file compilato in byte con estensione |
Barra degli Strumenti & Menu Contestuale |
|
Tenta di visualizzare la guida relativa alla stringa selezionata (classe, metodo, oggetto,…) nella corrispondente documentazione API |
Menu Contestuale |
|
Esegue nella console interattiva le righe selezionate nello script |
Barra degli Strumenti & Menu Contestuale |
|
Taglia il testo selezionato dagli appunti |
||
Copia il testo selezionato negli appunti |
||
Incolla un testo tagliato o copiato |
||
Consente di cercare e sostituire un testo nello script.
|
||
Consente di commentare o rimuovere il commento dalle righe selezionate, aggiungendo o rimuovendo il carattere |
||
Consente di applicare manualmente varie regole di formattazione (ordinamento delle importazioni, indentazione, lunghezza delle righe, ecc.) al codice, in base alle user-defined settings. Ciò potrebbe richiedere l’installazione di moduli Python aggiuntivi. |
||
Mostra e nasconde un browser dedicato con una struttura ad albero delle classi e delle funzioni disponibili nello script. Clicca su una voce per accedere rapidamente alla sua definizione. Lo strumento richiede l’attivazione da Python settings - Run and Debug. |
||
Nascondi editor |
Nasconde il blocco dell’editor di codice Python. Per renderlo nuovamente visibile, premi |
Menu Contestuale |
Esamina il codice e segnala gli errori di sintassi, come parentesi mancanti, due punti, indentazione errata, ecc. |
||
Annulla l’ultima operazione |
||
Ripristina le azioni annullate a uno stato più recente |
||
Seleziona tutto (Ctrl+A) |
Seleziona l’intero script |
|
Condivide lo script come Secret Gist o Public Gist su GitHub, a condizione che sia disponibile un GitHub access token. |
||
Apre la finestra di dialogo Impostazioni Python dialog. |







