Mi chiedo se c'è un modo per aprire la console Python direttamente all'avvio del programma. Esiste la possibilità di impostare un collegamento per la console Python, ma non riesco a trovare un'opzione simile per l'avvio del programma QGIS.
Mi chiedo se c'è un modo per aprire la console Python direttamente all'avvio del programma. Esiste la possibilità di impostare un collegamento per la console Python, ma non riesco a trovare un'opzione simile per l'avvio del programma QGIS.
Risposte:
Puoi avviare la console QGIS Python quando apri un progetto scrivendo un paio di righe in QGIS->Project->Project Properties
:
def openProject():
import qgis
qgis.utils.iface.actionShowPythonDialog().trigger()
Assicurati di abilitare le macro sul tuo progetto, in questo modo: Settings->Options->General->Enable macros: Always
Se vuoi che la console QGIS Python si apra all'avvio di QGIS , puoi creare (se non esiste già) un startup.py
file %APPDATA%\QGIS\QGIS3\
e scrivere:
import qgis
qgis.utils.iface.actionShowPythonDialog().trigger()
EDIT (per rispondere a una domanda di follow-up di @Miro)
Come sottolineato da Miro, se QGIS Python Console è aperto, qgis.utils.iface.actionShowPythonDialog().trigger()
lo chiuderà, quindi, se stiamo scrivendo un plug-in QGIS, potrebbe avere senso sapere se la Python Console è aperta (visibile) o meno.
Puoi sapere se la Python Console non è visibile (e quindi aprirla) eseguendo questo codice:
from qgis.PyQt.QtWidgets import QDockWidget
pythonConsole = iface.mainWindow().findChild(QDockWidget, 'PythonConsole')
if not pythonConsole or not pythonConsole.isVisible():
from qgis.utils import iface
iface.actionShowPythonDialog().trigger()