Importante
Translation is a community effort you can join. This page is currently translated at 75.34%.
29.3. Consola Python de QGIS
Como verá más adelante en este capítulo, QGIS ha sido diseñado con una arquitectura de complementos. Los complementos se pueden escribir en Python, un lenguaje muy famoso en el mundo geoespacial.
QGIS trae una API de Python (ver PyQGIS Developer Cookbook para algunos ejemplos de código) para permitir que el usuario interactúe con sus objetos (capas, función o interfaz). QGIS también tiene una consola Python.
The QGIS Python Console is an interactive shell for Python command executions. It also has a Python file editor that allows you to edit and save your Python scripts. Both console and editor are based on PyQScintilla2 package. To open the console go to
(Ctrl+Alt+P).29.3.1. La consola interactiva
The console is a Python interpreter that allows you to execute Python commands. Modules from QGIS (analysis, core, gui, server, processing, 3d) and Qt (QtCore, QtGui, QtNetwork, QtWidgets, QtXml) as well as Python’s math, os, re and sys modules are already imported and can be used directly.
La consola interactiva esta compuesta por una barra de herramientas, un área de entrada y una de salida.
29.3.1.1. Barra de herramietas
La barra de herramientas propone las siguientes herramientas:
Run Command available in the input area: same as pressing Enter;
Mostrar editor: conmuta la visibilidad El Editor de código;
Options…: opens a dialog to configure console properties;
Help… provides a menu to access various documentation:
Python Console Help (the current page)
Dock Code Editor to dock or undock the panel in QGIS interface
29.3.1.2. Input area
The Console input area main features are:
Completado de código, resaltado de sintaxis y atajos para las siguientes APIs:
Python
PyQGIS
PyQt5
QScintilla2
osgeo-gdal-ogr
Ctrl+Alt+Espacio para ver la lista de autocompletado habilitados en Configuración de la consola Python;
Ejecute fragmentos de código desde el área de entrada escribiendo y presionando Enter o Ejecutar comando;
Ejecute fragmentos de código desde el área de salida usando :guilabel:ʻIntroducir seleccionado` del menú contextual o presionando Ctrl+E;
Examine el historial de comandos desde el área de entrada usando las teclas de flecha Arriba y Abajo y ejecute el comando que desee;
Ctrl+Shift+Espacio para ver el historial de comandos: haga doble clic en una fila para ejecutar el comando. También se puede acceder al diálogo Historial de comandos desde el menú contextual del área de entrada;
Guarde y borre el historial de comandos. El historial se guardará en el archivo
console_history.txt
en la carpeta activa user profile;Type the following special commands:
?
to show a help of the Python Console_api
to open QGIS C++ API documentation or_api(object)
for a specific object documentation (in QGIS C++ API or Qt API documentation)_pyqgis
to open QGIS Python API documentation or_pyqgis(object)
for a specific object documentation (in QGIS Python API or Qt API documentation)_cookbook
to open PyQGIS Cookbook.!
followed by a command to execute Shell commands from the Python Console. The console will start a subprocess, and forward its output to the Python Console Output. While the subprocess is running, the Python Console Input switches to STDIN mode and forwards entered character to the child process. This makes it possible to send confirmation when the child program asks for it. When the Console is in STDIN mode, pressing Ctrl+C kills the subprocess. It is also possible to affect the result of a command to a variable with the syntaxvar = !cmd
>>> !echo QGIS Rocks! QGIS Rocks >>> !gdalinfo --version GDAL 3.6.2, released 2023/01/02 >>> !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']
Truco
Reutilizar comandos ejecutados desde el panel de salida
Puede ejecutar fragmentos de código desde el panel de salida seleccionando un texto y presionando Ctrl+E. No importa si el texto seleccionado contiene la indicación del intérprete (>>>
, ...
).
29.3.2. El Editor de código
Usa el botón Mostrar Editor para activar el widget del editor. Permite editar y guardar archivos de Python y ofrece funcionalidades avanzadas para gestionar tu código (comentar y descomentar código, comprobar la sintaxis, compartir el código vía GitHub y mucho más). Las características principales son:
Completado de código, resaltado de sintaxis y atajos para las siguientes APIs:
Python
PyQGIS
PyQt5
QScintilla2
osgeo-gdal-ogr
Ctrl+Space para ver la lista de autocompletado.
Compartir fragmentos de código a través de GitHub.
Ctrl+4 comprobar sintaxis.
Barra de búsqueda (ábrala con el acceso directo predeterminado del entorno de escritorio, generalmente Ctrl+F):
Utilice el acceso directo del entorno de escritorio predeterminado para buscar el siguiente/anterior (Ctrl+G y Shift+Ctrl+G);
Automáticamente encuentra la primera coincidencia al escribir en el cuadro de búsqueda;
Establecer la cadena de búsqueda inicial a la selección al abrir la búsqueda;
Presionando Esc cierra la barra de búsqueda.
Inspector de objetos: un navegador de clase y de función;
Ir a la definición de un objeto con un click del ratón (desde el Inspector de Objetos);
Ejecutar fragmentos de código con el comando Ejecutar seleccionado en el menú contextual;
Ejecutar el script entero con el comando Ejcutar Script (esto crea un archivo compilado por bytes con la extensión
.pyc
).
Nota
Ejecutar parcial o totalmente un script desde el Editor de código muestra el resultado en el área de salida de la consola.
Truco
Guardar las opciones
Para guardar el estado de los widgets de la consola, debe cerrar la consola Python desde el botón de cierre. Esto le permite guardar la geometría para restaurarla en el siguiente inicio.