Re: progressbar



On Tue, 2006-10-17 at 12:36 -0300, Alejandro Valdes Jimenez wrote:
> Estimados...
> 
> ¿cual será la manera de implementar un progressbar mientras se ejecuta
> una tarea?
> 
> pregunto esto ya que necesito que mientras ejecuto una acción, se active
> la barra de progreso hasta que termine la acción, sin embargo, solo he
> logrado que la barra se active una vez terminada la acción.
> 
> Ya me han dicho que con threads se puede, sin embargo, no logro entender
> bien como complementar ambas cosas.

Tienes que definir períodos entre los cuales deseas actualizar la
barra de progreso.  Por ejemplo, si tienes tareas que puedes enumerar
o contar, entonces cada vez que terminas una de dichas tareas, 
actualizas la barra de progreso (gtk_progress_bar_set_fraction).
Típicamente dentro de una iteración, por cada iteración actualizas
los valores de la barra de progreso.

La barra de progreso no se va a actualizar sola.  A menos que sea
de tipo 'pulse', donde lo único que aparece es el 'progreso' 
moviéndose de un lado hacia otro.  Eso se emplea cuando no sabes
cuando terminará (no puedes determinar el 100%).

Lo de usar hilos va por otro lado.  Si la tarea es muy demandante
y no devuelve el control en un período prolongado de tiempo, entonces
da la sensación que la aplicación se ha congelado.  Se nota si minimizas
y luego restauras el tamaño de la ventana, ésta se verá completamente 
gris, sin controles.

Mientras no soluciones lo primero, no tiene sentido intentar resolver
lo segundo.

-- 
Germán Poó-Caamaño
http://www.ubiobio.cl/~gpoo/
Concepción - Chile




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]