Wichtig
Übersetzen ist eine Gemeinschaftsleistung Sie können mitmachen. Diese Seite ist aktuell zu 100.00% übersetzt.
29.3. QGIS Python Konsole
Wie Sie später in diesem Kapitel sehen werden, wurde QGIS mit einer Plugin-Architektur entwickelt. Plugins können in Python geschrieben werden, einer sehr bekannten Sprache in der Welt der Geodaten.
QGIS verfügt über eine Python-API (siehe PyQGIS Developer Cookbook für einige Code-Beispiele), um dem Benutzer die Interaktion mit seinen Elementen (Layern, Objekten oder Schnittstellen) zu ermöglichen. QGIS hat auch eine Python-Konsole.
Die QGIS Python-Konsole ist eine interaktive Shell für die Ausführung von Python-Befehlen. Sie verfügt auch über einen Python-Dateieditor, mit dem Sie Ihre Python-Skripte bearbeiten und speichern können. Sowohl die Konsole als auch der Editor basieren auf dem Paket PyQScintilla2. Um die Konsole zu öffnen, gehen Sie zu
(Strg+Alt+P).29.3.1. Die interaktive Konsole
Die Konsole ist ein Python-Interpreter, mit dem Sie Python-Befehle ausführen können. Module von QGIS (analysis, core, gui, server, processing, 3d) und Qt (QtCore, QtGui, QtNetwork, QtWidgets, QtXml) sowie die Python-Module math, os, re und sys sind bereits importiert und können direkt verwendet werden.
Die interaktive Konsole besteht aus einer Symbolleiste, einem Eingabebereich und einem Ausgabebereich.
29.3.1.1. Werkzeugleiste
Die Symbolleiste bietet folgende Werkzeuge:
Befehl ausführen im Eingabebereich verfügbar: dasselbe wie das Drücken von Enter;
Editor anzeigen: schaltet die Sichtbarkeit von Der Code-Editor um;
|Optionen| Optionen…: öffnet den Dialog zur Konfiguration der Python-Konsole in den Optionen;
Hilfe… bietet ein Menü für den Zugriff auf verschiedene Dokumentationen:
Python-Konsole-Hilfe (diese Dokumentation)
Dock Code Editor zum Andocken bzw. Abdocken des Bedienfeldes in der QGIS-Oberfläche
29.3.1.2. Eingabebereich
Die wichtigsten Objekte des Eingabebereichs der Konsole sind:
Code-Vervollständigung, Hervorhebung der Syntax und Calltips für die folgenden APIs:
Python
PyQGIS
PyQt5
QScintilla2
osgeo-gdal-ogr
Strg+Alt+Leertaste, um die Liste der automatischen Vervollständigung anzuzeigen, wenn sie in Python-Konsole aktiviert ist;
Führen Sie Code-Schnipsel aus dem Eingabebereich aus, indem Sie Enter oder Befehl ausführen drücken;
Führen Sie Code-Schnipsel aus dem Ausgabebereich aus, indem Sie die Option Gewähltes eingeben aus dem Kontextmenü verwenden oder Strg+E drücken;
Navigieren Sie vom Eingabebereich aus mit den Pfeiltasten Auf und Ab durch den Befehlsverlauf und führen Sie den gewünschten Befehl aus;
Strg+Umschalt+Leertaste, um die Befehlshistorie anzuzeigen: ein Doppelklick auf eine Zeile führt den Befehl aus. Der Dialog Befehlsverlauf kann auch über das Kontextmenü des Eingabebereichs aufgerufen werden;
Speichern und löschen Sie den Befehlsverlauf. Der Verlauf wird in der Datei
console_history.txt
unter dem aktiven Benutzerprofil-Ordner gespeichert;Geben Sie die folgenden speziellen Befehle ein:
?
um eine Hilfe der Python-Konsole anzuzeigen_api
um die QGIS C++ API Dokumentation zu öffnen oder_api(object)
für eine spezifische Objektdokumentation (in QGIS C++ API oder Qt API Dokumentation)_pyqgis
um die QGIS Python API Dokumentation zu öffnen oder_pyqgis(object)
für eine spezifische Objektdokumentation (in der QGIS Python API oder Qt API Dokumentation)_cookbook
um das PyQGIS Cookbook zu öffnen.!
gefolgt von einem Befehl, um Shell-Befehle von der Python-Konsole auszuführen. Die Konsole startet einen Unterprozess und leitet dessen Ausgabe an den Python-Konsolen Ausgang weiter. Während der Unterprozess läuft, schaltet die Python- Konsole Input in den STDIN-Modus und leitet eingegebene Zeichen an den Kindprozess weiter. Dadurch ist es möglich, eine Bestätigung zu senden, wenn das untergeordnete Programm darum bittet. Wenn sich die Konsole im STDIN-Modus befindet, wird der Unterprozess durch Drücken von Strg+C beendet. Es ist auch möglich, das Ergebnis eines Befehls in einer Variablen mit der Syntaxvar = !cmd
zu beeinflussen.>>> !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']
Tipp
Ausgeführte Befehle aus dem Bedienfeld wiederverwenden
Sie können Codeschnipsel aus dem Bedienfeld ausführen, indem Sie einen Text auswählen und Strg+E drücken. Es spielt keine Rolle, ob der ausgewählte Text den Interpreter-Prompt enthält (>>>
, ...
).
29.3.2. Der Code-Editor
Verwenden Sie die Schaltfläche Editor anzeigen, um das Editor-Widget zu aktivieren. Es ermöglicht das Bearbeiten und Speichern von Python-Dateien und bietet erweiterte Funktionen zur Verwaltung Ihres Codes (Kommentieren und Entkommentieren von Code, Prüfen der Syntax, Teilen des Codes über GitHub und vieles mehr). Die wichtigsten Objekte sind:
Code-Vervollständigung, Hervorhebung der Syntax und Calltips für die folgenden APIs:
Python
PyQGIS
PyQt5
QScintilla2
osgeo-gdal-ogr
Strg+Leertaste, um die Liste der automatischen Vervollständigung anzuzeigen.
Freigabe von Codeschnipseln über GitHub.
Strg+4 Syntaxprüfung.
Suchleiste (öffnen Sie sie mit der Standardverknüpfung der Desktop-Umgebung, normalerweise Strg+F):
Verwenden Sie die Standard-Verknüpfung der Desktop-Umgebung für die Suche nach dem Nächsten/Vorherigen (Strg+G und Umschalt+Strg+G);
Automatische Suche nach der ersten Übereinstimmung bei der Eingabe in das Suchfeld;
Setzt die anfängliche Suchzeichenfolge beim Öffnen der Suche auf die Auswahl;
Durch Drücken von Esc wird die Suchleiste geschlossen.
Objektinspektor: ein Klassen- und Funktionsbrowser;
Gehen Sie mit einem Mausklick zu einer Objektdefinition (vom Objektinspektor aus);
Ausführen von Codeschnipseln mit dem Befehl Auswahl ausführen im Kontextmenü;
Führen Sie das gesamte Skript mit dem Befehl Skript ausführen aus (dies erzeugt eine byte-kompilierte Datei mit der Endung
.pyc
).
Bemerkung
Die teilweise oder vollständige Ausführung eines Skripts aus dem Code-Editor gibt das Ergebnis im Ausgabebereich der Konsole aus.
Tipp
Speichern Sie die Einstellungen
Um den Zustand der Widgets der Konsole zu speichern, müssen Sie die Python-Konsole über die Schaltfläche „Schließen“ schließen. Dies ermöglicht es Ihnen, die Geometrie zu speichern, um sie beim nächsten Start wiederherzustellen.