GTK Scrollbar dans une boucle

Signaler
Messages postés
47
Date d'inscription
samedi 2 juillet 2005
Statut
Membre
Dernière intervention
3 janvier 2008
-
Messages postés
47
Date d'inscription
samedi 2 juillet 2005
Statut
Membre
Dernière intervention
3 janvier 2008
-
Bonjour,



Pour afficher un pourcentage effectué d'une opération, j'utilise une
scrollbar (interface en GTK) dans une boucle avec la fonction:
gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (progressbar),i/10);
mais ça ne m'affiche rien alors que si je le fait en dehors de la
boucle cela m'affiche quelque chose mais l'opération est finie donc
cela ne sert plus à grand chose.



Quelqu'un peut me dire pourquoi ça n'affiche rien quand cette fonction est dans une boucle ? Merci.

2 réponses

Messages postés
146
Date d'inscription
jeudi 22 avril 2004
Statut
Membre
Dernière intervention
8 mars 2008
2
Hé bien, mes connaissance GTK sont assez basiques, mais ton probleme vient

surrement du fait que ton controle est rafraichit lorsque tu fais appel à gtk_main().

en effet, tout ce que tu peux mettre dans une boucle n'y changera rien...



je m'explique : tant que tu ne renverra pas la main à gtk avec
gtk_main() sa boucle evenementielle, toutes les modifs que tu fais sur
gtk restent virtuelles...

donc au cours de l'exécution de ta boucle, tes controles sont figé mais leur état est modifié !

en gros là tu modifies plein de fois ton progress bar mais tu ne l'actualise qu'a la fin.



essaye de renvoyer la main a gtk dans ta boucle juste avant de reboucler (a la fin!)



j'espere que mon niveau bas de gamme t'aideras !



@++
Messages postés
47
Date d'inscription
samedi 2 juillet 2005
Statut
Membre
Dernière intervention
3 janvier 2008

j'appelle gtk_main() à chaque fois que je modifie la progressbar mais sans résultat.