Bonjour, je voudrais créer une barre de progression dans une boite de dialogue avec gtk. En fait, je veux que quand l'utilisateur, clique sur un bouton du genre "Load", une boite s'ouvre avec une barre de progression qui avance pendant que le pc travaille.

Le problème que je rencontre, c'est que lorsque je clique sur "Load", la pc travaille sur un algorithme et c'est qu'une fois cet algorithme fini que la boite de dialogue contenant la barre de progression s'ouvre.

Voici un bout de mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
{
  /*
  ...
  */
  pb_dialog = gtk_dialog_new_with_buttons ("Loading in progress", 0, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_STOCK_OK, GTK_RESPONSE_NONE, 0);
 
  g_signal_connect_swapped (pb_dialog, "response", G_CALLBACK (gtk_widget_destroy), pb_dialog);
 
  pb = gtk_progress_bar_new();
  gtk_container_add(GTK_CONTAINER (GTK_DIALOG(pb_dialog)->vbox), pb);
 
  gtk_widget_show_all(pb_dialog);
 
  engine.load(file);
}
 
void Engine::load(string file, GtkWidget* pb)
{
  /*
  ...
  */
  gtk_progress_bar_pulse(GTK_PROGRESS_BAR (pb));
  /*
  ...
  */
}