You are here:GeoTux»Geo-Foros»problema con la SIGNAL layerWasAdded en PyQGIS

Estadísticas

Invitados: 48
Usuarios registrados: 3094
Usuarios en línea:
-
Registrados hoy:
-

Registro

Redifusión (RSS)

Blogs y Noticias:
Recibe las actualizaciones en Geo-Noticias y Geo-Blogs

Recibir por e-mail
Recibir Geo-Noticias y Geo-Blogs por e-mail

¿Qué es esto?

Welcome, Guest
Username Password: Remember me

problema con la SIGNAL layerWasAdded en PyQGIS
(1 viewing) (1) Guest
  • Page:
  • 1

TOPIC: problema con la SIGNAL layerWasAdded en PyQGIS

problema con la SIGNAL layerWasAdded en PyQGIS 23 Dic 2013 20:13 #1102

  • fabi_386
  • OFFLINE
  • Entusiasta
  • Posts: 15
  • Karma: 0
Hola, Tuxman te agradezco por la ayuda , lo que pasa es que estoy programando una aplicación con PyQGIS , python 2.7.5, Quantum Lisboa 1.8.0 y PyQt4.10.1 en Windows 32 bits, he seguido la guía de PyQGIS cookbook ; los artículos que usted ha publicado. Pero se me presento el siguiente inconveniente:
La clase Legend tiene una SIGNAL que me está generando inconvenientes como muestro en el siguiente fragmento de código:
self.connect( QgsMapLayerRegistry.instance(), SIGNAL("layerWasAdded(QgsMapLayer *)"),
self.addLayerToLegend)
La cual genera una “ instancia de LegendItem “ que correspondiente a la clase que gestiona los ítems del TOC que forma parte de la aplicación que estoy construyendo.
El inconveniente se presenta cuando desde otra clase creo una instancia de la clase que hace parte de la aplicación que muestra un Dialogo que está compuesto por un QgsMapCanvas y herramientas. Es allí donde yo instancio QgsMapLeyerRegistry.intance() y le agrego una capas, automáticamente se produce la señal presente en la clase Legend originando que se adicione ítems al TOC del visor principal. Lo ideal sería simplemente mostrar las capas sobre QgsMapCanvas del dialogo y que no aparezcan los ítems en el TOC ni en el canvas de la aplicación principal.
Le adjunto la imagen de la aplicación que estoy construyendo y donde se refleja el inconveniente que se esta presentado

tinypic.com/r/107n9rq/5

Gracias por su ayuda.
Last Edit: 23 Dic 2013 20:20 by fabi_386. Reason: debido aproblemas al adjuntar dejo un link

Re: problema con la SIGNAL layerWasAdded en PyQGIS 23 Dic 2013 22:53 #1104

  • tuxman
  • OFFLINE
  • Vive aquí
  • Posts: 285
  • Karma: 6
Hola,

revisa la API de QGIS v.1.8. Allí encuentras que el QgsMapLayerRegistry puede cargar capas sin emitir la señal layerWasAdded [1].

QgsMapLayerRegistry.instance().addMapLayer(miLayer, False)

Espero que eso baste para que las capas no sean cargadas en la leyenda.

De no funcionar la solución que te propongo, para ayudarte tendría que tener acceso a tu código (aunque ya no tengo instalada la API de QGIS 1.8).

Saludos

----
[1] qgis.org/api/1.8/classQgsMapLayerRegistr...608a61e3899a27f39e8a
The following user(s) said Thank You: fabi_386

Re: problema con la SIGNAL layerWasAdded en PyQGIS 25 Dic 2013 20:51 #1105

  • fabi_386
  • OFFLINE
  • Entusiasta
  • Posts: 15
  • Karma: 0
Hola,Tuxman Feliz Navidad y gracias por su ayuda sin ella estaría perdido,voy a probar la solución; espero terminar el proyecto y poder publicarlo en el blog, para lograr esto debo solucionar unos problemas de propiedad intelectual de la universidad, para poder publicarlo y escribir un articulo.
  • Page:
  • 1
Time to create page: 0.54 seconds
 

¿Dónde nos leen?

Usuario aleatorio

Últimos comentarios