7. QGIS GUI
The QGIS graphical user interface (GUI) is shown in the figure below (the numbers 1 through 5 in yellow circles indicate important elements of the QGIS GUI, and are discussed below).
Your window decorations (title bar, etc.) may appear different depending on your operating system and window manager.
The main QGIS GUI (Fig. 7.1) consists of five components / component types:
Scroll down for detailed explanations of these.
From the ), you can switch QGIS widgets ( ) and toolbars ( ) on and off. To (de)activate any of them, right-click the menu bar or toolbar and choose the item you want. Panels and toolbars can be moved and placed wherever you like within the QGIS interface. The list can also be extended with the activation of Core or external plugins.menu (or
The toolbars provide access to most of the functions in the menus, plus additional tools for interacting with the map. Each toolbar item has pop-up help available. Hover your mouse over the item and a short description of the tool’s purpose will be displayed.
Every toolbar can be moved around according to your needs. Additionally, they can be switched off using the right mouse button context menu, or by holding the mouse over the toolbars.
Available toolbars are:
Main Reference for tools
Advanced Digitizing Toolbar
Data Source Manager
Mesh Digitizing Toolbar
Third-party plugins can extend the default toolbar with their own tools or provide their own toolbar.
If you have accidentally hidden a toolbar, you can get it back using ). If, for some reason, a toolbar (or any other widget) totally disappears from the interface, you’ll find tips to get it back at restoring initial GUI.(or
QGIS provides many panels. Panels are special widgets that you can interact with (selecting options, checking boxes, filling values…) to perform more complex tasks.
Below is a list of the default panels provided by QGIS:
the Browser Panel
the Identify Panel
the Layers Panel
the Overview Panel
the Result Viewer Panel
the Statistics Panel
the Tile Scale Panel
the Undo/Redo Panel
The map view (also called Map canvas) is the “business end” of QGIS — maps are displayed in this area, in 2D. The map displayed in this window will reflect the rendering (symbology, labeling, visibilities…) you applied to the layers you have loaded. It also depends on the layers and the project’s Coordinate Reference System (CRS).
When you add a layer (see e.g. Opening Data), QGIS automatically looks for its CRS. If a different CRS is set by default for the project (see Project Coordinate Reference Systems) then the layer extent is “on-the-fly” translated to that CRS, and the map view is zoomed to that extent if you start with a blank QGIS project. If there are already layers in the project, no map canvas resize is performed, so only features falling within the current map canvas extent will be visible.
Click on the map view and you should be able to interact with it:
it can be panned, shifting the display to another region of the map: this is performed using the Pan Map tool, the arrow keys, moving the mouse while any of the Space key, the middle mouse button or the mouse wheel is held down. When the mouse is used, the distance and direction of the pan action are shown in the status bar at the bottom.
it can be zoomed in and out, with the dedicated Zoom In and Zoom Out tools. Hold the Alt key to switch from one tool to the other. Zooming is also performed by rolling the wheel forward to zoom in and backwards to zoom out. The zoom is centered on the mouse cursor position. You can customize the Zoom factor under the menu.
it can be zoomed to the full extent of all loaded layers ( Zoom Full), to the extent of all the selected layers in the panel ( Zoom to Layer(s)) or to the extent of the selected features of all the selected layers in the panel ( Zoom to Selection)
Right-click over the map and you should be able to Copy coordinates of the clicked point in the map CRS, in WGS84 or in a custom CRS. The copied information can then be pasted in an expression, a script, text editor or spreadsheet…
By default, QGIS opens a single map view (called “main map”), which is tightly bound to the Layers panel; the main map automatically reflects the changes you do in the Layers panel area. But it is also possible to open additional map views whose content could diverge from the Layers panel current state. They can be of 2D or 3D type, show different scale or extent, or display a different set of the loaded layers thanks to map themes.
To add a new map view, go to . A new floating widget, mimicking the main map view’s rendering, is added to QGIS. You can add as many map views as you need. They can be kept floating, placed side by side or stacked on top of each other.
At the top of an additional map canvas, there’s a toolbar with the following capabilities:
Set View Theme to select the map theme to display in the map view. If set to
(none), the view will follow the Layers panel changes.
Change map CRS…
QGIS can handle temporal control on loaded layers, i.e. modify the map canvas rendering based on a time variation. To achieve this, you need:
Layers that have dynamic temporal properties set. QGIS supports temporal control for different data providers, with custom settings. It’s mainly about setting the time range in which the layer would display:
raster layers: controls whether to display or not the layer.
vector layers: features are filtered based on time values associated to their attributes
mesh layers: displays dynamically the active dataset groups values
When dynamic temporal options are enabled for a layer, an icon is displayed next to the layer in the Layers panel to remind you that the layer is temporally controlled. Click the icon to update the temporal settings.
Enable the temporal navigation of the map canvas using the Temporal controller panel. The panel is activated:
The Temporal controller panel has the following modes:
Frames rate: number of steps that are shown per second
Cumulative range: all animation frames will have the same start date-time but different end dates and times. This is useful if you wish to accumulate data in your temporal visualisation instead of showing a ‘moving time window’ across your data.
Maps you make can be layout and exported to various formats using the advanced capabilities of the print layout or report. It’s also possible to directly export the current rendering, without a layout. This quick “screenshot” of the map view has some convenient features.
To export the map canvas with the current rendering:
The two tools provide you with a common set of options. In the dialog that opens:
Choose the Extent to export: it can be the current view extent (the default), the extent of a layer or a custom extent drawn over the map canvas. Coordinates of the selected area are displayed and manually editable.
Enter the Scale of the map or select it from the predefined scales: changing the scale will resize the extent to export (from the center).
Set the Resolution of the output
Control the Output width and Output height in pixels of the image: based by default on the current resolution and extent, they can be customized and will resize the map extent (from the center). The size ratio can be locked, which may be particularly convenient when drawing the extent on the canvas.
Draw active decorations: in use decorations (scale bar, title, grid, north arrow…) are exported with the map
Draw annotations to export any annotation
Append georeference information (embedded or via world file): depending on the output format, a world file of the same name (with extension
JPG, …) is saved in the same folder as your image. The
When exporting to PDF, more options are available in the Save map as PDF… dialog:
Create Geospatial PDF (GeoPDF): Generate a georeferenced PDF file (requires GDAL version 3 or later). You can:
Choose the GeoPDF Format
Since QGIS 3.10, with GDAL 3 a GeoPDF file can also be used as a data source. For more on GeoPDF support in QGIS, see https://north-road.com/2019/09/03/qgis-3-10-loves-geopdf/.
Simplify geometries to reduce output file size: Geometries will be simplified while exporting the map by removing vertices that are not discernably different at the export resolution (e.g. if the export resolution is
300 dpi, vertices that are less than
1/600 inchapart will be removed). This can reduce the size and complexity of the export file (very large files can fail to load in other applications).
Set the Text export: controls whether text labels are exported as proper text objects (Always export texts as text objects) or as paths only (Always export texts as paths). If they are exported as text objects then they can be edited in external applications (e.g. Inkscape) as normal text. BUT the side effect is that the rendering quality is decreased, AND there are issues with rendering when certain text settings like buffers are in place. That’s why exporting as paths is recommended.
Click Save to select file location, name and format.
When exporting to image, it’s also possible to Copy to clipboard the expected result of the above settings and paste the map in another application such as LibreOffice, GIMP…
To begin with, the 3D map view has the same extent and view as the 2D main map canvas. A set of navigation tools are available to turn the view into 3D.
The following tools are provided at the top of the 3D map view panel:
Identify: returns information on the clicked point of the terrain or the clicked 3D feature(s) – More details at Identifying Features
Animations: shows/hides the animation player widget
Export 3D Scene…: exports the current view as a 3D scene (
.objfile), allowing post-processing in applications like Blender… The terrain and vector features are exported as 3D objects. The export settings, overriding the layers properties or map view configuration, include:
Set View Theme: Allows you to select the set of layers to display in the map view from predefined map themes.
Configure the map view settings
In the 3D Configuration window there are various options to fine-tune the 3D scene:
Terrain: Before diving into the details, it is worth noting that the terrain in a 3D view is represented by a hierarchy of terrain tiles and as the camera moves closer to the terrain, existing tiles that do not have sufficient details are replaced by smaller tiles with more details. Each tile has mesh geometry derived from the elevation raster layer and texture from 2D map layers.
The elevation terrain Type can be:
Elevation: Raster or mesh layer to be used for generation of the terrain. The raster layer must contain a band that represents elevation. For a mesh layer, the Z values of the vertices are used.
Vertical scale: Scale factor for vertical axis. Increasing the scale will exaggerate the height of the landforms.
Tile resolution: How many samples from the terrain raster layer to use for each tile. A value of 16px means that the geometry of each tile will consist of 16x16 elevation samples. Higher numbers create more detailed terrain tiles at the expense of increased rendering complexity.
Skirt height: Sometimes it is possible to see small cracks between tiles of the terrain. Raising this value will add vertical walls (“skirts”) around terrain tiles to hide the cracks.
Terrain elevation offset: moves the terrain up or down, e.g. to adjust its elevation with respect to the ground level of other objects in the scene.
This can be useful when there is a discrepancy between the height of the terrain and the height of layers in your scene (e.g. point clouds which use a relative vertical height only). In this case adjusting the terrain elevation manually to coincide with the elevation of objects in your scene can improve the navigation experience.
When a mesh layer is used as terrain, you can configure the Triangles settings (wireframe display, smooth triangles, level of detail) and the Rendering colors settings (as a uniform color or color ramp based). More details in the Mesh layer 3D properties section.
Shading disabled - terrain color is determined only from map texture
Shading enabled - terrain color is determined using Phong’s shading model, taking into account map texture, the terrain normal vector, scene light(s) and the terrain material’s Ambient and Specular colors and Shininess
up to eight Point lights: emits light in all directions, like a sphere of light filling an area. Objects closer to the light will be brighter, and objects further away will be darker. A point light has a set position (X, Y and Z), a Color, an Intensity and an Attenuation
up to four Directional lights: mimics the lighting that you would get from a giant flash light very far away from your objects, always centered and that never dies off (e.g. the sun). It emits parallel light rays in a single direction but the light reaches out into infinity. A directional light can be rotated given an Azimuth, have an Altitude, a Color and an Intensity.
a Directional light
a Shadow rendering maximum distance: to avoid rendering shadow of too distant objects, particularly when the camera looks up along the horizon
a Shadow bias: to avoid self-shadowing effects that could make some areas darker than others, due to differences between map sizes. The lower the better
a Shadow map resolution: to make shadows look sharper. It may result in less performance if the resolution parameter is too high.
In this tab, you can override some default camera settings made in the dialog.
Panoramic texture, with a single file providing sight on 360°
Distinct faces, with a texture file for each of the six sides of a box containing the scene
Texture image files of the skybox can be files on the disk, remote URLs or embedded in the project (more details).
Map tile resolution: Width and height of the 2D map images used as textures for the terrain tiles. 256px means that each tile will be rendered into an image of 256x256 pixels. Higher numbers create more detailed terrain tiles at the expense of increased rendering complexity.
Max. screen error: Determines the threshold for swapping terrain tiles with more detailed ones (and vice versa) - i.e. how soon the 3D view will use higher quality tiles. Lower numbers mean more details in the scene at the expense of increased rendering complexity.
Max. ground error: The resolution of the terrain tiles at which dividing tiles into more detailed ones will stop (splitting them would not introduce any extra detail anyway). This value limits the depth of the hierarchy of tiles: lower values make the hierarchy deep, increasing rendering complexity.
Zoom levels: Shows the number of zoom levels (depends on the map tile resolution and max. ground error).
An animation is based on a set of keyframes - camera positions at particular times. To create an animation:
Using the navigation tools, move the camera to the position to associate with the current keyframe time.
Repeat the previous steps to add as many keyframes (with time and position) as necessary.
Click the button to preview the animation. QGIS will generate scenes using the camera positions/rotations at set times, and interpolating them in between these keyframes. Various Interpolation modes for animations are available (eg, linear, inQuad, outQuad, inCirc… – more details at https://doc.qt.io/qt-5/qeasingcurve.html#EasingFunction-typedef).
Click Export animation frames to generate a series of images representing the scene. Other than the filename Template and the Output directory, you can set the number of Frames per second, the Output width and Output height.
A vector layer with elevation values can be shown in the 3D map view by checking Enable 3D Renderer in the 3D View section of the vector layer properties. A number of options are available for controlling the rendering of the 3D vector layer.
The status bar provides you with general information about the map view and processed or available actions, and offers you tools to manage the map view.
On the left side of the status bar, the locator bar, a quick search widget, helps you find and run any feature or options in QGIS:
Click in the text widget to activate the locator search bar or press Ctrl+K.
Type a text associated with the item you are looking for (name, tag, keyword, …). By default, results are returned for the enabled locator filters, but you can limit the search to a certain scope by prefixing your text with the locator filters prefix, ie. typing
l cadwill return only the layers whose name contains
The filter can also be selected with a double-click in the menu that shows when accessing the locator widget.
Click on a result to execute the corresponding action, depending on the type of item.
Limit the lookup to particular field(s) of the active layer
By default, a search with the “active layer features” filter (
through the whole attribute table of the layer. You can limit the search to
a particular field using the
@ prefix. E.g.,
f @name sal or
@name sal returns only the features whose “name” attribute contains ‘sal’.
Text autocompletion is active when writing and the suggestion can be applied
using Tab key.
A more advanced control on the queried fields is possible from the layer Fields tab. Read Fields Properties for details.
Searching is handled using threads, so that results always become available as quickly as possible, even if slow search filters are installed. They also appear as soon as they are encountered by a filter, which means that e.g. a file search filter will show results one by one as the file tree is scanned. This ensures that the UI is always responsive, even if a very slow search filter is present (e.g. one which uses an online service).
The Nominatim locator tool may behave differently (no autocompletion search, delay of fetching results, …) with respect to the OpenStreetMap Nominatim usage policy.
In the area next to the locator bar, a summary of actions you’ve carried out will be shown when needed (such as selecting features in a layer, removing layer, pan distance and direction) or a long description of the tool you are hovering over (not available for all tools).
In case of lengthy operations, such as gathering of statistics in raster layers, executing Processing algorithms or rendering several layers in the map view, a progress bar is displayed in the status bar.
The Coordinate option shows the current position of the mouse, following it while moving across the map view. You can set the units (and precision) in the tab. Click on the small button at the left of the textbox to toggle between the Coordinate option and the Extents option that displays the coordinates of the current bottom-left and top-right corners of the map view in map units.
Next to the coordinate display you will find the Scale display. It shows the scale of the map view. There is a scale selector, which allows you to choose between predefined and custom scales.
On the right side of the scale display, press the button to lock the scale to use the magnifier to zoom in or out. The magnifier allows you to zoom in to a map without altering the map scale, making it easier to tweak the positions of labels and symbols accurately. The magnification level is expressed as a percentage. If the Magnifier has a level of 100%, then the current map is not magnified, i.e. is rendered at accurate scale relative to the monitor’s resolution (DPI). A default magnification value can be defined within , which is very useful for high-resolution screens to enlarge small symbols. In addition, a setting in controls whether QGIS respects each monitor’s physical DPI or uses the overall system logical DPI.
To the right of the magnifier tool you can define a current clockwise rotation for your map view in degrees.
On the right side of the status bar, there is a small checkbox which can be used temporarily to prevent layers being rendered to the map view (see section Rendering).
To the right of the render functions, you find the EPSG:code button showing the current project CRS. Clicking on this opens the Project Properties dialog and lets you apply another CRS to the map view.
Calculating the Correct Scale of Your Map Canvas
When you start QGIS, the default CRS is
WGS 84 (EPSG 4326) and
units are degrees. This means that QGIS will interpret any
coordinate in your layer as specified in degrees.
To get correct scale values, you can either manually change this
setting in the General tab under
(e.g. to meters), or you
can use the EPSG:code icon seen above.
In the latter case, the units are set to what the project projection
Note that CRS choice on startup can be set in.
Depending on the Plugin Manager settings, the status bar can sometimes show icons to the right to inform you about the availability of new () or upgradeable () plugins. Click the icon to open the Plugin Manager dialog.