Belangrijk
Vertalen is een inspanning van de gemeenschap waaraan u deel kunt nemen <translation_guidelines>. Deze pagina is momenteel voor 100.00% vertaald.
29.3. 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
(Ctrl+Alt+P) om de console te openen.29.3.1. De interactieve console
De console is een interpreter voor Python die u in staat stelt opdrachten van Python uit te voeren. Modules uit QGIS (analysis, core, gui, server, processing, 3d) en Qt (QtCore, QtGui, QtNetwork, QtWidgets, QtXml), als ook Python’s modules math, os, re and sys zijn al geïmporteerd en kunnen direct worden gebruikt.
De interactieve console is samengesteld uit een werkbalk, een gebied voor invoer en een voor uitvoer.
29.3.1.1. Werkbalk
De werkbalk biedt de volgende gereedschappen:
Opdracht uitvoeren beschikbaar in het gebied voor invoer: hetzelfde als drukken op Enter;
Editor tonen: schakelt met de zichtbaarheid van de De Codebewerker;
Opties…: opent een dialoogvenster om de eigenschappen voor de console te configureren;
Help…: verschaft een menu voor toegang tot de diverse documentatie:
Python Console Help (de huidige pagina)
Codebewerker vastzetten om het paneel vast te zetten of los te maken in de interface van QGIS
29.3.1.2. Invoergebied
De belangrijkste mogelijkheden voor het invoergebied 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 Instellingen voor Python-console;
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
~console_history.txt
in de map van het actieve gebruikersprofiel;;Typen van de volgende speciale opdrachten:
?
om de Help van de console voor Python weer te geven_api
om de QGIS C++ API documentatie te openen of_api(object)
voor documentatie over een specifiek object (in QGIS C++ API- of Qt API-documentatie)_pyqgis
om de QGIS Python API documentatie te openen of_pyqgis(object)
voor documentatie over een specifiek object (in QGIS Python API- of Qt API-documentatie)_cookbook
om het PyQGIS kookboek te openen.!
gevolgd door een opdracht om opdrachten voor Shell uit te voeren vanuit de console van Python. De console zal een subproces straten en de uitvoer doorsturen naar de uitvoer van de console voor Python. Terwijl het subproces wordt uitgevoerd, schakelt de invoer voor de console van Python naar de modus STDIN en verstuurt het ingevoerde teken naar het kind-proces. Dit maakt het mogelijk bevestiging te versturen als het kind-programma daarom vraagt. Als de console in de modus STDIN staat, zal drukken op Ctrl+C het subproces beëindigen. Het is ook mogelijk het resultaat van een opdracht voor een variabele te beïnvloeden met de syntaxisvar = !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']
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 (>>>
, ...
).
29.3.2. De Codebewerker
Gebruik de knop Editor tonen 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 GitHub.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 GitHub.
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 Geselecteerde ingeven in het contextmenu;
Het gehele script uitvoeren met de opdracht 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.
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.