QProgressBar ne montre pas de progrès?

Mon premier naïf à la mise à jour de ma barre de progression a été d'inclure les lignes suivantes dans ma boucle qui est en train de faire le traitement, de faire quelque chose comme ceci:

while(data.hasMoreItems())
{
    doSomeProcessing(data.nextItem())

    //Added these lines but they don't do anything
    ui->progressBar->setValue(numberProcessed++);
    ui->progressBar->repaint();
}

J'ai pensé à l'ajout de la repaint() rendrait l'exécution pause tandis qu'elle mise à jour de l'interface graphique, mais apparemment il n'est pas simple. Après avoir examiné les questions suivantes:

QProgressBar Erreur

La barre de progression n'est pas de montrer les progrès réalisés

on dirait que je vais devoir mettre le traitement des données dans un thread différent, puis connecter un signal à partir du traitement des données thread le thread GUI pour mettre à jour la barre de progression. Je suis plutôt pas d'expérience avec les Interfaces graphiques et les threads et je me demandais si quelqu'un pourrait juste me pointer dans la bonne direction, c'est à dire que des classes Qt devrais-je être à la recherche à utiliser pour cela. J'avais suppose que j'ai besoin d'un QThread objet, mais j'ai été à la recherche par le biais de la QProgressBar de la documentation, mais il ne veut pas aborder le sujet de l'enfilage.