Mi primer ingenua en la actualización de mi barra de progreso fue la de incluir las siguientes líneas en mi bucle que está haciendo el procesamiento, haciendo algo como esto:QProgressBar no muestra el progreso?
while(data.hasMoreItems())
{
doSomeProcessing(data.nextItem())
//Added these lines but they don't do anything
ui->progressBar->setValue(numberProcessed++);
ui->progressBar->repaint();
}
pensé añadiendo el repaint()
haría que la pausa ejecución mientras se actualiza la GUI, pero aparentemente no es tan simple. Después de mirar las preguntas:
QProgressBar Error
Progress bar is not showing progress
parece que voy a tener que poner el procesamiento de datos en un hilo diferente y luego conectar una señal desde el subproceso de procesamiento de datos para el hilo GUI para actualizar la barra de progreso Soy bastante inexperto con interfaces gráficas e hilos y me preguntaba si alguien podría simplemente señalarme en la dirección correcta, es decir, qué clases de Qt debería estar buscando usar para esto. Supongo que necesito un objeto QThread pero he estado buscando en la documentación de QProgressBar pero no aparece el tema de enhebrar.