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).
The interactive console is composed of a toolbar, an input area and an output one.
The console main features are:
- Code completion, highlighting syntax and calltips for the following APIs:
- Python
- PyQGIS
- PyQt4
- QScintilla2
- osgeo-gdal-ogr
- Ctrl+Alt+Space to view the auto-completion list if enabled in the
Options;
- 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 file
~/.qgis2/console_history.txt;
- Open QGIS API documentation by typing _api;
- Open PyQGIS Cookbook by typing _pyqgis.
Tip
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 (>>>, ...).
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 codepad.org and much more). Main features are:
- Code completion, highlighting syntax and calltips for the following APIs:
- Python
- PyQGIS
- PyQt4
- QScintilla2
- osgeo-gdal-ogr
- Ctrl+Space to view the auto-completion list.
- Sharing code snippets via codepad.org.
- Ctrl+4 Syntax check.
- Search bar (open it with the default Desktop Environement shorcut, 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 Enter selected command;
- Execute the whole script with the Run script command (this
creates a byte-compiled file with the extension .pyc).
Poznámka
Running partially or totally a script from the Code Editor
outputs the result in the Console output area.
Accessible either from the Console toolbar or the contextual menu of Console
output panel or Code Editor, this adds further settings to manage and control
the Python console behavior:
- Autocompletion: If checked the code completion is enabled. You can get
autocompletion from current document, from installed APIs and both from APIs
and current document.
- Autocompletion threshold: Sets the threshold to display the autocompletion list
(in chars typed).
- Automatic parentheses insertion: If checked enables the autoclosing for bracket.
- Auto-save script before running: Allows you to save automatically the script to
be executed in order to avoid to save it after any modification. This action
will store a temporary file into the temporary system directory that will be
automatically deleted after running.
- Using preloaded APIs file: You can choose whether use the preload APIs file or
load some APIs files saved on your system.
- Using prepared APIs file: If checked the *.pap file will be used for code
completion. To generate a prepared APIs file you have to load at least an *.api
file and then compile it by clicking on [Compile Apis...] button.
Tip
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.