- Getting Around
- About FOSS4G
Customizing QGIS with Python Plugins
Greg Corradini, CUGOS
Aaron Racicot, Z-Pulley Inc.
QGIS provides a lot of out of the box functionality but it seems there is always another "nice to have" feature. Writing your own plugin is a good way to supplement your QGIS toolbox and have some fun doing it. QGIS supports plugins written in both C++ and Python. This workshop will dive into the process, techniques, and methods for customizing QGIS using Python plugins. Creating a plugin requires a bit of knowledge about QGIS architecture, the Qt toolkit, PyQt, and of course Python. The workshop will begin by taking a look at plugins in QGIS---how they are installed, managed, and loaded. This is key in undertaking development and understanding the core concepts needed to build a plugin that will actually load and do something useful. Moving forward we jump right in by creating a simple plugin using the Plugin Builder to generate a working template. We will customize the user interface using Qt Designer, compile it using PyQt tools, and connect up the user interface elements. Once we have some working code we will test the loading, functionality, and unloading of the plugin. Some techniques for debugging will also be discussed. An important part of plugin development is deployment. In order to install your plugin via the Python Plugin Installer it must be properly packaged. We will take a look at naming, packaging, and adding your plugin to the QGIS repository. We'll also take a brief look at setting up your own repository. To wrap up we'll examine the resources available to you as a plugin developer, including the details of the QGIS Contributed repository and the "hub" where you can create a shared copy of your code and allow your users to submit enhancement requests, report bugs, and submit patches. For this workshop you will need to have some background in Python, however, extensive experience is not required.