Cómo insertar una imagen en un QDialog de un plugin de QGIS a través del método ‘setPixmap’ de QLabel

En el post anterior se consideró el caso de cómo insertar una imagen en un QDialog de un plugin de QGIS editando el archivo de recursos (resources.qrc) y el *.ui. En este caso se va a utilizar el método ‘setPixmap’ de QLabel para el mismo propósito. Este método permite asociar una imagen como archivo (la opción alternativa al recurso) a un objeto de tipo QLabel. Sin embargo, no funciona si el paso que se le suministra a la imagen es un paso relativo dentro del plugin.

Para comenzar, lo primero que tenemos que hacer es, con el Qt Designer, añadir la imagen como archivo a un objeto de tipo QLabel y modificar su extensión para que se vea totalmente; tal como se presenta en la imagen siguiente para la ya considerada parabolic1.png:

image1

Una vez grabado el archivo *.ui, en la Python Console se hacen las siguientes modificaciones en el archivo principal del plugin:

.
.
.
from PyQt4.QtGui import QAction, QIcon, QPixmap
.
.
.
class MyPlugin:
    """QGIS Plugin Implementation."""

    def __init__(self, iface):
.
.
.
        image_name = 'parabolic1.png'
        
        absolute_path = os.path.join(self.plugin_dir, image_name)
        
        lbl = self.dlg.label
        lbl.setPixmap(QPixmap(absolute_path))
.
.
.

se guardan los cambios y se usa ‘Reload Plugin’ para recargar el plugin. Cuando se ejecuta este es el resultado:

image2

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

Una respuesta a Cómo insertar una imagen en un QDialog de un plugin de QGIS a través del método ‘setPixmap’ de QLabel

  1. hola mi nombre es Domingo, tengo una consulta, yo tengo una base de datos postgres, donde guardo datos de sitios, a la vez tengo en datos geograficos con postgis, los puntos de estos sitios, en la BD tengo fotos de cada sitio, entonces hice una vista que une la informacion GEOGRAFICA (puntos) con las fotos de cada PUNTO, como puedo mostrar esas fotos que son campos tipo BYTEA en QGIS. ejemplo de la vista (select a.id,a.nombre,b.img_bytea,a.the_geom from tabla1 as a, tabla2 as b where a.id=b.id). existe algun plugin para este tipo de cosas??

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