Creando un plugin simple con el ‘Plugin Builder’ de QGIS en Windows

El ‘Plugin Builder’ es en si mismo un plugin de QGIS que sirve para crear plantillas de nuevos plugins. Por tanto, se instala de la manera usual: Plugins -> Manage and Install Plugins -> Plugin Builder. Una vez instalado, se ubica en el propio menú de Plugins o en su respectiva barra de herramientas para ejecutarlo. La interfase gráfica que aparece es la siguiente:

plugin1

Los campos antes de Recommended Items son obligatorios pero varios de ellos pueden ser modificados desde el archivo de metadata que se genera en el directorio del plugin al hacer click en ‘OK’. El ejemplo que vamos a considerar aquí es similar al que se encuentra en el libro de Gary Sherman (The PyQGIS Programmer’s Guide: Extending QGIS 2.x with Python); pero está adaptado a la consideración de la nueva versión del plugin que es la 2.8.1 (que facilita aún mucho más el proceso de creación y requiere llenar un campo adicional). Corresponde al intento de crear un plugin para obtener las coordenadas de un punto haciendo click con el mouse sobre cualquier zona del Map Canvas (algo que haremos más adelante en otro post).

La información que vamos a rellenar es la siguiente; pero es conveniente que creemos antes un directorio aparte para el desarrollo de plugins y en el cual vamos a guardar el resultado de ejecución de ‘Plugin Builder’:

plugin2

Una vez que hacemos click en ‘OK’, después de ubicar la ruta al directorio de desarrollo de Plugins, aparece el siguiente cuadro de diálogo donde es posible observar la ruta donde se ha creado el plugín, la ruta donde se almacenan los plugins de QGIS y los 7 posibles pasos a realizar de ahora en adelante.

plugin3

El primer paso de la imagen anterior es compilar los recursos mediante el comando pyrcc4. Por ahora, el único recurso que vamos a compilar será una “imagen nueva” para nuestro plugin que sustituirá a la que por defecto viene dada en el directorio del plugin (icon.png); cuyo contenido luce así:

plugin4

La imagen WhereAmI.png (se recomienda que las imágenes tengan el mismo nombre que el plugin) la vamos a colocar en el directorio del plugin y se modificarán los archivos de resources.qrc, metadata.txt y WhereAmI.py para reflejar tales cambios. El resources.qrc (que es de lenguaje de marcado) ahora lucirá así:

<RCC>
    <qresource prefix="/plugins/WhereAmI" >
        <file>WhereAmI.png</file>
    </qresource>
</RCC>

la porción correspondiente del metadata.txt que hemos modificado así:

.
.
.
homepage=
tracker=
repository=
category=Plugins
icon=WhereAmI.png
# experimental flag
experimental=False
.
.
.

y la porción correspondiente del WhereAmI.py así:

.
.
.
   def initGui(self):
        """Create the menu entries and toolbar icons inside the QGIS GUI."""

        icon_path = ':/plugins/WhereAmI/WhereAmI.png'
        self.add_action(
            icon_path,
            text=self.tr(u'WhereAmI?'),
            callback=self.run,
            parent=self.iface.mainWindow())
.
.
.

Para compilar los recursos en Windows y tener a mano todas las herramientas necesarias se recomienda que QGIS se haya instalado mediante el OSGe4W Installer. Por tanto, ubicamos la shell de OSGeo4W, nos cambiamos al directorio donde está el plugin en desarrollo y ejecutamos:

.
pyrcc4 -o resources_rc.py resources.qrc
.

Después de la compilación copiamos la carpeta completa del plugin en la ruta de plugins de QGIS (recuerde que estaba en la ventana de Plugin Builder Results o en su README.txt), lanzamos QGIS y añadimos el plugin con Plugins -> Manage and Install Plugins -> WhereAmI?. Al habilitarlo, con un click sobre su icono tendremos algo parecido a la siguiente imagen:

plugin5

Para lograr que haga algo útil primero tenemos que editarlo con el QtDesigner; tema del próximo post. No obstante, señalaré que este software se ejecuta colocando Designer [Enter] en la shell de OSGeo4W. Una vez que aparezca la interface gráfica, el archivo WhereAmI_dialog_base.ui se carga al Editor, desde el directorio del Plugin, utilizando el menú File -> Open; tal como se presenta en la imagen siguiente:

plugin6

Esta entrada fue publicada en PyQGIS, QGIS, SIG, Software Libre. Guarda el enlace permanente.

6 respuestas a Creando un plugin simple con el ‘Plugin Builder’ de QGIS en Windows

  1. Pingback: Creando un plugin para capturar las coordenadas del Map Canvas con un click del ratón en QGIS | El Blog de José Guerrero

  2. Hola buenas tardes!

    Tengo la versión 2.14 de QGIS y la 2.16.0 de plugin builder y realice todos los pasos y me marca el eror que dice: Este complemento esta roto, No module name resources…?

    alguna sugerencia?

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s