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

Reply via email to