Buenos dia Joaquín, gracias por tu ayuda.

Probe lo que me dijiste pero la barra de estada no se "mueve" durante el 
proceso,  si que aparece completa al terminarlo, y por la consola si que se va 
incrementando el contador de las iteraciones, la base del script es la 
siguiente:



# encoding: utf-8

import gvsig
from gvsig import *
from gvsig.libs.formpanel import FormPanel
from gvsig.libs.formpanel import *
import os

class BarraEstado(FormPanel):

    def __init__(self):
      
FormPanel.__init__(self,os.path.join(os.path.dirname(__file__),"lista.xml"))
      self.setPreferredSize(290,200) #tamaño

    def Sair_click(self,*args):
      self.hide()

    def Procesar_click(self,*args):
      features = gvsig.currentLayer().features()
      self.BarraEstado.setMaximum(features.getSize())
      self.BarraEstado.setIndeterminate(False)
      count = 0
      self.BarraEstado.setValue(count)
      for f in features:
        self.BarraEstado.setValue(count)
        clave1 = f.PARCELA_RV
        self.clave.setText( str(int(clave1)))
        print count
        print clave1
        count=count+1
def main(*args):

    l = BarraEstado()
    l.showTool(u"Xestión")#Remove this lines and add here your code


En la etiqueta también solo muestra la última y al final del proceso, ¿Que 
estoy haciendo mal?

Saludos y gracias

Ovidio



________________________________
De: gvsig_usuarios-boun...@listserv.gva.es 
<gvsig_usuarios-boun...@listserv.gva.es> en nombre de Joaquin Jose del Cerro 
Murciano <jjdelce...@gvsig.org>
Enviado: viernes, 30 de junio de 2017 12:14
Para: Lista de Usuarios de gvSIG
Asunto: Re: [Gvsig_usuarios] Barra de progreso en un script



El 30 de junio de 2017, 10:57, Ovidio Ribeira 
<albore...@hotmail.es<mailto:albore...@hotmail.es>> escribió:

Tengo un script con una interfaz grafica creada con Abeille, pero no sé como se 
puede integrar una barra de estado con el proceso de iteración sobre una capa, 
se agradece la ayuda.

Hola.

Asi, muy rapido, sin pensarlo mucho y sin probar lo que te pongo aqui, solo a 
modo de idea...

En abeille tiene un componenten JProgressbar en la toolbar de componentes.
Es un componente standard de swing, su javadoc puedes encontrarlo en

  https://docs.oracle.com/javase/7/docs/api/javax/swing/JProgressBar.html

Prueba a meterlo en tu formulario, y luego solo tienes que usarlo desde tu 
script.
Tiene dos o tres metodos interesantes. Aqui te dejo un pequeño caso de uso:

  features = gvsig.currentLayer().features()

  self.pgbProgreso.setMaximum(features.getSize())
  self.pgbProgreso.setIndeterminate(False)
  count = 0
  for f in features:
    self.pgbProgreso.setValue(count)

    # Ahora hacemos lo que sea que haya que hacer con la feature.
    procesar(f)

    count += 1

Puedes añadir alguna etiqueta mas en el forlario y vas añadiendo en ella 
informacion sobre lo que vas haciendo.
Ten cuidado de no actualizar etiquetas del formulario a lo bestia, por ejemplo 
en cada iteracion sobre una capa
gigantesca, eso puede relentizar el proceso.

Espero que sirva.

Un saludo
Joaquin




Gracias y Saludos

_______________________________________________
gvSIG_usuarios mailing list
gvSIG_usuarios@listserv.gva.es<mailto:gvSIG_usuarios@listserv.gva.es>

Para ver histórico de mensajes, editar sus preferencias de usuario o darse de 
baja en esta lista, acuda a la siguiente dirección:

https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios




--
--------------------------------------
Joaquin Jose del Cerro Murciano
Development and software arquitecture manager at gvSIG Team
jjdelce...@gvsig.com<mailto:jjdelce...@gvsig.com>
jjdelce...@gvsig.org<mailto:jjdelce...@gvsig.org>
gvSIG Association
www.gvsig.com<http://www.gvsig.com>
www.gvsig.org<http://www.gvsig.org>
_______________________________________________
gvSIG_usuarios mailing list
gvSIG_usuarios@listserv.gva.es

Para ver histórico de mensajes, editar sus preferencias de usuario o darse de 
baja en esta lista, acuda a la siguiente dirección:

https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios

Responder a