28.3. QGIS Python console
As you will see later in this chapter, QGIS has been designed with a plugin architecture. Plugins can be written in Python, a very famous language in the geospatial world.
QGIS brings a Python API (see PyQGIS Developer Cookbook for some code sample) to let the user interact with its objects (layers, feature or interface). QGIS also has a Python console.
The QGIS Python Console is an interactive shell for the 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).28.3.1. The Interactive Console
The interactive console is composed of a toolbar, an input area and an output one.
28.3.1.1. 工具栏
The toolbar proposes the following tools:
Run Command available in the input area: same as pressing Enter;
Show Editor: toggles The Code Editor visibility;
Options...: opens a dialog to configure console properties (see Python Console settings);
28.3.1.2. Console
The console main features are:
Code completion, highlighting syntax and calltips for the following APIs:
Python
PyQGIS
PyQt5
QScintilla2
osgeo-gdal-ogr
Ctrl+Alt+Space to view the auto-completion list if enabled in the Python Console settings;
Execute code snippets from the input area by typing and pressing Enter or Run Command;
Execute code snippets from the output area using the Enter Selected from the contextual menu or pressing Ctrl+E;
Browse the command history from the input area using the Up and Down arrow keys and execute the command you want;
Ctrl+Shift+Space to view the command history: double-clicking a row will execute the command. The Command History dialog can also be accessed from context menu of input area;
Save and clear the command history. The history will be saved into the
console_history.txt
file under the active user profile folder;Open QGIS C++ API documentation by typing
_api
;Open QGIS Python API documentation by typing
_pyqgis
.Open PyQGIS Cookbook by typing
_cookbook
.
小技巧
Reuse executed commands from the output panel
You can execute code snippets from the output panel by selecting some text and
pressing Ctrl+E. No matter if selected text contains the interpreter
prompt (>>>
, ...
).
28.3.2. The Code Editor
Use the Show Editor button to enable the editor widget. It allows editing and saving Python files and offers advanced functionalities to manage your code (comment and uncomment code, check syntax, share the code via GitHub and much more). Main features are:
Code completion, highlighting syntax and calltips for the following APIs:
Python
PyQGIS
PyQt5
QScintilla2
osgeo-gdal-ogr
Ctrl+Space to view the auto-completion list.
Sharing code snippets via GitHub.
Ctrl+4 Syntax check.
Search bar (open it with the default Desktop Environment shortcut, usually Ctrl+F):
Use the default Desktop Environment shortcut to find next/previous (Ctrl+G and Shift+Ctrl+G);
Automatically find first match when typing in find box;
Set initial find string to selection when opening find;
Pressing Esc closes the find bar.
Object inspector: a class and function browser;
Go to an object definition with a mouse click (from Object inspector);
Execute code snippets with the Run Selected command in contextual menu;
Execute the whole script with the Run Script command (this creates a byte-compiled file with the extension
.pyc
).
备注
Running partially or totally a script from the Code Editor outputs the result in the Console output area.
小技巧
Save the options
To save the state of console's widgets you have to close the Python Console from the close button. This allows you to save the geometry to be restored to the next start.