Hi, No, you should not use closed loop for GTK application when you expect responses. Use gtk timeout mechanism instead of the dead while loop with sleep.
Try that, I am quite sure that would help. Yours faithfully, Alvis Koon On 16/04/2008, Ke Jin <[EMAIL PROTECTED]> wrote: > The problem is solved. Thanks! > > But it is still a little strange that I have tried the > while(gtk_events_pending()) gtk_main_iteration(); before which didn't work. > But after I changed: > slider = gtk_vscale_new_with_range(0,1000,0.1); > to > GtkObject *adj1; > adj1 = gtk_adjustment_new (0.0, 0.0, 1001, 0.1, 1.0, 1.0); > slider = gtk_vscale_new (GTK_ADJUSTMENT (adj1)); > > it did work. > > Any idea why? > > > -----邮件原件----- > 发件人: Christopher Backhouse [mailto:[EMAIL PROTECTED] > 发送时间: 2008年4月16日 9:40 > 收件人: Ke Jin > 抄送: gtk-app-devel-list@gnome.org > 主题: Re: A question about GTK Scale > > > Perhaps it takes 2 iterations of the main loop for the vscale to update. > What happens if you try > while(gtk_events_pending()) gtk_main_iteration(); > instead? > > Ke Jin wrote: > > Dear All, > > I have a VScale in my interface and I created button named "Play" that > > once the button is clicked, the scale will move automatically. > > > > Below is the function connected to the button. And it performed strangely. > > The scale was not updated every iteration of the loop, which means the > value > > of the scale changed from 0 to 2 then to 4 then 6....and jumped over > > 1,3,5... > > > > Does anyone have any idea why this happened? > > > > void playClick(GtkWidget *widget, VScale *slider) > > { > > double interval = 1; > > double currentTime = gtk_range_get_value((GtkRange*)(slider)); > > > > > > while(currentTime<=20) > > { > > currentTime += interval; > > usleep(1000000); > > printf("current Time: %f\n",currentTime); > > gtk_range_set_value((GtkRange*)(gtkE->slider),currentTime); > > gtk_main_iteration(); > > } > > } > > > > Many Thanks, > > Ke > > > > _______________________________________________ > > gtk-app-devel-list mailing list > > gtk-app-devel-list@gnome.org > > http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list > > > > _______________________________________________ > gtk-app-devel-list mailing list > gtk-app-devel-list@gnome.org > http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list _______________________________________________ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list