QGIS Python-console

Zoals u later in dit hoofdstuk zult zien is QGIS ontworpen met een architectuur voor plug-ins. Plug-ins kunnen worden geschreven in Python, een zeer beroemde taal in de geo-ruimtelijke wereld.

QGIS brengt een API voor Python (bekijk PyQGIS Developer Cookbook voor enkele voorbeelden van code) om de gebruiker interactief te kunnen laten werken met zijn objecten (lagen, object of interface). QGIS heeft ook een console voor Python.

De QGIS Python Console is een interactieve shell voor het uitvoeren van opdrachten in Python. Het heeft ook een bestandsbewerker voor Python die u in staat stelt uw scripts voor Python te bewerken en op te slaan. Zowel de console als de bewerker zijn gebaseerd op het pakket PyQScintilla2. Ga naar Plug-ins ‣ Python Console (Ctrl+Alt+P) om de console te openen.

De interactieve console

De interactieve console is samengesteld uit een werkbalk, een gebied voor invoer en een voor uitvoer.

Werkbalk

De werkbalk biedt de volgende gereedschappen:

  • clearConsole Console wissen om het gebied voor uitvoer leeg te maken;

  • runConsole Opdracht uitvoeren beschikbaar in het gebied voor invoer: hetzelfde als drukken op Enter;

  • showEditorConsole Toon editor: schakelt met de zichtbaarheid van de De Codebewerker;

  • options Opties…: opent een dialoogvenster om de eigenschappen voor de console te configureren (bekijk Opties);

  • helpContents Help…: bladert door de huidige documentatie.

Console

De belangrijkste mogelijkheden van de console zijn:

  • Automatisch aanvullen van code, accentueren van syntaxis en tips voor aanroepen voor de volgende API’s:

    • Python

    • PyQGIS

    • PyQt5

    • QScintilla2

    • osgeo-gdal-ogr

  • Ctrl+Alt+Space om de lijst van Automatisch aanvullen te bekijken, indien ingeschakeld in de Opties;

  • Codesnippers uitvoeren vanuit het gebied voor invoer door te typen en op Enter te drukken of op Opdracht uitvoeren;

  • Codesnippers uitvoeren vanuit het gebied voor uitvoer met behulp van Geselecteerde ingeven uit het contextmenu of door te drukken op Ctrl+E;

  • Bladeren door de Opdrachtgeschiedenis vanuit het invoergebied met behulp van de pijltoetsen Omhoog en Omlaag en de opdracht uitvoeren die u wilt;

  • Ctrl+Shift+Space om de Opdrachtgeschiedenis te bekijken: dubbelklikken op een rij zal de opdracht uitvoeren. Tot het dialoogvenster Opdrachtgeschiedenis kan ook toegang worden verkregen vanuit het contextmenu van het invoergebied;

  • De opdrachtgeschiedenis opslaan en leegmaken. De geschiedenis zal worden opgeslagen in het bestand ~/.qgis2/console_history.txt;

  • Open documentatie QGIS C++ API door te typen _api;

  • Open documentatie QGIS Python API door te typen _pyqgis.

  • PyQGIS Cookbook openen door te typen _cookbook.

Tip

Uitgevoerde opdrachten uit het uitvoergebied opnieuw gebruiken

U kunt codesnippers uitvoeren vanuit het uitvoergebied door enige tekst te selecteren en te drukken op Ctrl+E. Het maakt niet uit of de geselecteerde tekst de prompt voor de interpreter bevat (>>>, ...).

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

De Python-console

De Codebewerker

Gebruik de knop showEditorConsole Toon editor om het widget editor in te schakelen. Het maakt het mogelijk bestanden van Python te bewerken en op te slaan en biedt geavanceerde functionaliteiten om uw code te beheren (code voorzien van opmerkingen en opmerkingen verwijderen, syntaxis controleren, de code delen via codepad.org en nog veel meer). Belangrijkste mogelijkheden zijn:

  • Automatisch aanvullen van code, accentueren van syntaxis en tips voor aanroepen voor de volgende API’s:

    • Python

    • PyQGIS

    • PyQt5

    • QScintilla2

    • osgeo-gdal-ogr

  • Ctrl+Alt+Space om de lijst van Automatisch aanvullen te bekijken.

  • Codesnippers delen via codepad.org.

  • Ctrl+4 Controleren van syntaxis.

  • Zoekbalk (open die met de standaard sneltoets voor de omgeving van de desktop, gewoonlijk Ctrl+F):

    • Gebruik de standaard sneltoets voor de omgeving van desktop om de vorige/volgende te zoeken (Ctrl+G en Shift+Ctrl+G);

    • Automatisch de eerste overeenkomst zoeken bij het typen in het zoekvak;

    • Initiële zoekreeks instellen om te zoeken bij het openen van Zoeken;

    • Drukken op Esc sluit de zoekbalk.

  • Object inspecteren: een browser voor klassen en functies;

  • Ga naar een definitie van een object met een muisklik (vanuit Object inspecteren);

  • Codesnippers uitvoeren met de opdracht runConsole Geselecteerde ingeven in het contextmenu;

  • Het gehele script uitvoeren met de opdracht start Script uitvoeren (dit maakt een byte-gecompileerd bestand met de extensie .pyc).

Notitie

Een script geheel of gedeeltelijk uitvoeren vanuit de Codebewerker voert het resultaat uit naar het gebied voor uitvoer in de Console.

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

De Python consolebewerker

Opties

Toegankelijk vanuit ofwel de werkbalk voor de Console of het contextmenu van het gebied voor uitvoer van de Console of Codebewerker, de :guilabel:`instellingen voor de console van Python ` helpen bij het beheren en beheersen van het gedrag van de console voor Python.

Voor zowel Console als Editor kunt u specificeren:

  • Automatisch aanvullen: Schakelt Automatisch aanvullen in. U kunt Automatisch aanvullen vanuit het huidige document, vanuit geïnstalleerde API’s of beide.

    • Drempel Automatisch aanvullen: Stelt de drempel in voor het weergeven van de lijst van Automatisch aanvullen (in tekens).

  • Typen

    • Automatisch haakjes invoegen: Schakelt het automatisch sluiten van haakjes in.

    • Automatisch invoegen van ‘import’ na ‘from xxx’: Schakelt invoegen van ‘import’ in bij specificeren van imports

Voor Editor kunt u ook specificeren:

  • Uitvoeren en debuggen

    • Object inspecteren aanzetten (schakelen tussen tabs kan traag zijn): De inspectie van het object inschakelen.

    • Automatisch opslaan script voor starten: Slaat het script dat wordt uitgevoerd automatisch op. Deze actie zal een tijdelijk bestand opslaan in de tijdelijke systeemmap dat automatisch zal worden verwijderd na het uitvoeren.

  • Lettertype en kleuren: Hier kunt u het in de bewerker te gebruiken lettertype specificeren en de kleuren die moeten worden gebruikt voor accentueren

Voor APIs kunt u specificeren:

  • Gebruik het ingeladen API’s bestand: U kunt er voor kiezen om de reeds ingeladen bestanden voor de API’s te gebruiken. Als dit niet is geselecteerd kunt u bestanden voor de API toevoegen en u kunt ook kiezen of u reeds voorbereide API-bestanden wilt gebruiken (zie volgende optie).

  • Gebruik een geprepareerd API’s bestand: Indien geselecteerd zal het *.pap-bestand worden gebruikt voor het aanvullen van de code. U dient tenminste een *.api-bestand te laden en dat dan te compileren door te klikken op de knop Api’s compileren….

Tip

De opties opslaan

U dient de Python Console te sluiten met de knop Sluiten om de status van de widgets van de console op te slaan. Dit stelt u in staat de geometrie op te slaan om te worden hersteld bij de volgende start.