La console Python de QGIS¶
Comme vous le verrez plus loin dans ce chapitre, QGIS a été conçu avec une architecture de plugin. Les plugins peuvent être écrits en Python, un langage très célèbre dans le monde géospatial.
QGIS apporte une API Python (voir PyQGIS Developer Cookbook pour obtenir un exemple de code) pour permettre à l’utilisateur d’interagir avec ses objets (couches, entité ou interface). QGIS possède également une console Python.
La console QGIS Python est un shell interactif pour les exécutions de commandes python. Il dispose également d’un éditeur de fichiers python qui vous permet de modifier et d’enregistrer vos scripts python. La console et l’éditeur sont basés sur le package PyQScintilla2. Pour ouvrir la console, allez dans
( :kbd:` Ctrl + Alt + P` ).La console interactive¶
La console interactive est composée d’une barre d’outils, d’une zone d’entrée et de sortie.
Barre d’outils¶
La barre d’outil propose les outils suivant:
Exécuter la commande disponible dans la zone de saisie: identique à la touche Entrée;
Afficher l’éditeur: bascule la visibilité L’éditeur de code;
Options …: ouvre une boîte de dialogue pour configurer les propriétés de la console (voir Options);
Console¶
Les principales fonctionnalités de la console sont :
Auto-complétion du code, coloration et rappels syntaxiques pour les APIs suivantes:
Python
PyQGIS
PyQt5
QScintilla2
osgeo-gdal-ogr
Ctrl+Alt+Space pour voir la liste d’auto-complétion si elle est activée dans Options;
Exécutez des fragments de code depuis la zone de saisie en les tapant puis en appuyant sur Entrée ou Exécuter la Commande;
Exécutez des extraits de code à partir de la zone de sortie en utilisant Enter Selected dans le menu contextuel ou en appuyant sur Ctrl + E;
Parcourez l’historique des commandes dans la zone de saisie en utilisant les touches directionnelles Haut and Bas et exécutez la commande que vous voulez;
Ctrl+Shift+Espace pour voir l’historique des commandes: un double clic sur une ligne exécutera la commande. La boîte de dialogue Historique des Commandes peut aussi être ouverte depuis le menu contextuel ou la zone de saisie;
Sauvegardez et videz l’historique des commandes. L’historique sera sauvegardé dans le fichier
~/.qgis2/console_history.txt
;Ouvrir: api:QGIS C++ API <> documentation by typing
_api
;Ouvrir: pyqgis:QGIS Python API <> documentation by typing
_pyqgis
.Ouvrir PyQGIS Cookbook by typing
_cookbook
.
Astuce
Réutilisez des commandes déjà exécutées depuis la zone de sortie
Vous pouvez exécuter des fragments de code depuis la zone de sortie en les sélectionnant et en appuyant sur Ctrl+E. Peu importe que le texte sélectionné contienne les caractères d’attente de l’interpréteur (>>>
,``…``).
L’éditeur de code¶
Utilisez Afficher l’éditeur pour activer le widget de l’éditeur. Il permet de modifier et d’enregistrer des fichiers Python et offre des fonctionnalités avancées pour gérer votre code (commenter et décommenter le code, vérifier la syntaxe, partager le code via codepad.org et bien plus). Les caractéristiques principales sont:
Auto-complétion du code, coloration et rappels syntaxiques pour les APIs suivantes:
Python
PyQGIS
PyQt5
QScintilla2
osgeo-gdal-ogr
Ctrl + Espace pour afficher la liste de saisie semi-automatique.
Partage d’extraits de code via codepad.org.
: kbd:Ctrl + 4 Vérification de la syntaxe.
Barre de recherche (ouvrez-la avec le raccourci Environnement de bureau par défaut, généralement Ctrl + F):
Utilisez le raccourci par défaut de l’environnement de bureau pour trouver le suivant / précédent (Ctrl + G et :kbd:` Shift + Ctrl + G`);
Rechercher automatiquement la première correspondance lors de la saisie dans la zone de recherche;
Définissez la chaîne de recherche initiale sur sélection lors de l’ouverture de la recherche;
Appuyer sur Esc ferme la barre de recherche.
Inspecteur d’objets: un navigateur de classes et de fonctions;
Accédez à une définition d’objet avec un clic de souris (depuis l’inspecteur d’objets);
Exécutez des extraits de code avec la commande Exécuter la sélection dans le menu contextuel;.
Exécutez des extraits de code avec la commande Exécuter la sélection dans le menu contextuel;
Note
L’exécution partielle ou totale d’un script à partir de Éditeur de code affiche le résultat dans la zone de sortie de la console.
Options¶
Accessible à partir de la barre d’outils de la console et des menus contextuels du panneau de sortie de la console et de l’éditeur de code, le Python Console Settings permet de gérer et de contrôler le comportement de la console Python.
Pour les deux Console et Editeur vous pouvez spécifier:
Autocompletion: Active l’achèvement du code. Vous pouvez obtenir la saisie semi-automatique à partir du document actuel, des fichiers API installés ou des deux.
Seuil de saisie semi-automatique: Définit le seuil d’affichage de la liste de saisie semi-automatique (en caractères).
Typing
Insertion automatique des parenthèses: Active la fermeture automatique des parenthèses
Insertion automatique de la chaîne “import” sur “from xxx”: Active l’insertion de “import” lors de la spécification des importations
Pour Editor vous pouvez également spécifier:
Exécuter et déboguer
Activer l’inspecteur d’objets (le passage d’un onglet à l’autre peut être lent): activer l’inspecteur d’objets.
Auto-save script before running: Enregistre automatiquement le script lors de son exécution. Cette action stockera un fichier temporaire (dans le répertoire système temporaire) qui sera supprimé automatiquement après l’exécution.
Police et couleurs: Ici, vous pouvez spécifier la police à utiliser dans l’éditeur et les couleurs à utiliser pour la surbrillance
Pour les :guilabel:`APIs” vous pouvez spécifier:
Utilisation du fichier API préchargé: Vous pouvez choisir si vous souhaitez utiliser les fichiers API préchargés. Si cette case n’est pas cochée, vous pouvez ajouter des fichiers API et vous pouvez également choisir si vous souhaitez utiliser des fichiers API préparés (voir l’option suivante).
Utilisation du fichier API préparé: Si coché, le fichier
* .pap
choisi sera utilisé pour compléter le code. Pour générer un fichier API préparé, vous devez charger au moins un fichier* .api
puis le compiler en cliquant sur le bouton Compile APIs ….
Astuce
** Enregistrez les options **
Pour enregistrer l’état des widgets de la console, vous devez fermer la console Python à partir du bouton de fermeture. Cela vous permet d’enregistrer la géométrie à restaurer au prochain démarrage.