TD1 - Interaction avec l'interface

interface

TD 1 - Interaction avec l'interface

En pyQGIS on peut controller une grande partie des éléments de l'interface. C'est surtout utile pour développer des extensions qui ajouteront des fonctionnalités accessibles via l'interface telles que:

  • Des QActions : Action de type zoom, symbologie etc.
  • Des menus de paramètres dans la barre d'outils.
  • Des messages avec la barre de message.

Dans ce TD on ne se concentrera que sur quelques classes génériques.

TD1 - QgisInterface

interface

TD1 - QgisInterface & iface

L'interface courante de QGIS peut être récupérée grâce à la variable iface dans la console Python.

>>> iface
<qgis._gui.QgisInterface object at 0x724fbc1d9a30>

qgis

TD1 - QgsMapCanvas & iface

interface

TD1 - QgsMapCanvas

Le canvas central peut être récupéré depuis iface (QgisInterface) avec la méthode mapCanvas(). Il donne accès à toutes les actions que vous pouvez faire sur le canvas (zoom, symbologie etc).

>>> iface.mapCanvas()
<qgis._gui.QgisInterface object at 0x724fbc1d9a30>

qgis

TD1 - QgsProject

interface

TD1 - QgsProject

Le QgsProject permet de gérer tout ce qui concerne le projet courant. Il permet d'ajouter les couches, de définir le SCR d'origine etc. On peut y accéder via la méthode de classe instance().

>>> QgsProject.instance()
<QgsProject: '/tmp/test_project.qgz' (singleton instance)>

qgis