As we have seen, it's quite possible to write a plugin that acts as a sophisticated mapping tool integrated directly into the QGIS user interface, interacting with the map canvas and responding in various ways to the user's actions. Some of the other things you can do with a QGIS plugin include:
Creating your own subclass of
QgsMapCanvasItem
, so your plugin can draw items directly onto the QGIS map canvas.Creating a custom map layer by subclassing
QgsPluginLayer
. This allows your plugin to act as a completely separate map layer.Using signal handlers to intercept standard QGIS actions, for example, redrawing the canvas and executing your own code when a signal is sent.
Creating map layers programmatically, setting up the data provider, and creating custom symbols and renderers to control how the map data is displayed.
Using the QGIS Map Composer tools to combine rendered map layers, labels, legends, tables, and so on, mimicking the layout of a paper map...