Come mostrare la console Python all'avvio del programma QGIS


10

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.


C'è un modo per scrivere un file che viene eseguito all'avvio di QGIS, il che può essere utile per impostazioni personalizzate come queste. La domanda è se è possibile aprire la console a livello di codice o meno. Sai se riesci a farlo?
BritishSteel

Ho cercato nell'API ma l'unica classe correlata a Python è QgsPythonRunner, che non è la console.
Martin,

Risposte:


12

Usando le macro

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


Utilizzando startup.py

Se vuoi che la console QGIS Python si apra all'avvio di QGIS , puoi creare (se non esiste già) un startup.pyfile %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()

C'è un modo per verificare se la console è già aperta? Perché se è il trigger () sta per chiuderlo.
Miro,

@Miro, c'è un modo! Ho modificato la mia risposta con le istruzioni.
Germán Carrillo,

1
In 2.18, la macro di progetto funziona ma lo script di avvio non riesce ad aprire la console.
underdark
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.