24.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.

La consola Python de QGIS es un shell interactivo para las ejecuciones de comandos de Python. También tiene un editor de archivos de Python que le permite editar y guardar sus scripts de Python. Tanto la consola como el editor se basan en el paquete PyQScintilla2. Para abrir la consola, vaya a Complementos -> Consola de Python (Ctrl+Alt+P).

24.3.1. La consola interactiva

La consola interactiva esta compuesta por una barra de herramientas, un área de entrada y una de salida.

24.3.1.1. Barra de herramietas

La barra de herramientas propone las siguientes herramientas:

  • clearConsole Limpiar consola para limpiar el área de salida;

  • runConsole Ejecutar comando disponible en el área de entrada: lo mismo que presionar Enter;

  • showEditorConsole Mostrar editor: conmuta la visibilidad El Editor de código;

  • options Opciones…: abre un diálogo para configurar las propiedades de consola (ver Opciones);

  • helpContents Ayuda…: navega a la documentación actual.

24.3.1.2. Consola

Las funciones principales de la consola son:

  • 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 Opciones;

  • 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:file:~/.qgis2/console_history.txt;

  • Abre la documentación QGIS C++ API escribiendo _api;

  • Abre la documentación QGIS Python API escribiendo _pyqgis.

  • Abre PyQGIS Cookbook escribiendo _cookbook.

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 (>>>, ...).

../../../_images/python_console.png

Figura 24.29 Consola de Python

24.3.2. El Editor de código

Usar el botón showEditorConsole Mostrar esditor para habilitar el wiget editor. Permite editar y guardar archivos Python y ofrece funcionalidades avanzadas para administrar su código (comentar y descomentar el código, verificar la sintaxis, compartir el código a través de codepad.org y mucho más). Las principales características 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 via codepad.org.

  • 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 runConsole Ejecutar seleccionado en el menú contextual;

  • Ejecutar el script entero con el comando start 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.

../../../_images/python_console_editor.png

Figura 24.30 El editor de la consola de Python

24.3.3. Opciones

Accesible desde la barra de herramientas de la consola y los menús contextuales del panel de salida de la consola y el editor de código, la configuración de la Consola de Python ayudar a administrar y controlar el comportamiento de la consola Python.

Para ambas Consola y Editor puede especificar:

  • Autocompletado: Habilita la finalización del código. Puede obtener el autocompletado desde el documento actual, los archivos API instalados o ambos.

    • unbral de Autocompletado: Establece el umbral para mostrar la lista de autocompletado (en caracteres)

  • Escribiendo

    • Inserción Automática de paréntesis: habilita el autocerrado de paréntesis

    • Inserción Automática de la cadena “import” en “from xxx”: Habilita la inserción de “import” al especificar importaciones

Para Editor puedes especificar:

  • Ejecutar y depurar

    • Habilitar Inspector de Objeto (cambiar entre pestañas puede ser lento): Habilita el inspector de objetos.

    • Autoguardar el script antes de ejecutar: Guarda el script automáticamente cuando se ejecuta. Esta acción almacenará un archivo temporal (en el directorio temporal del sistema) que se eliminará automáticamente después de ejecutarse.

  • Fuente y Colores: Aquí puede especificar la fuente a usar en el editor y los colores a usar para resaltar

Para APIs puedes especificar:

  • Usando archivos de APIs precargadas: Puede elegir si desea utilizar los archivos API precargados. Si no está marcado, puede agregar archivos API y también puede elegir si desea utilizar archivos API preparados (consulte la siguiente opción).

  • Usando archivos de APIs preparados: Si está marcado, el archivo *.pap elegido se utilizará para completar el código. Para generar un archivo API preparado, debe cargar al menos un archivo *.api y luego compilarlo haciendo clic en el botón Compilar API….

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.