pygtk - What is the best way to change the mouse pointer

MRAB python at
Wed Aug 26 22:03:45 CEST 2009

Ido Levy wrote:
> Hello All,
> I am writing a dialog which one of its widget is a gtk.ComboBoxEntry ( 
> let's assume widget in the example below is its instance )
> When the user select one of the values from the gtk.ComboBoxEntry I need 
> to run some calculations that takes a few seconds.
> In order to reflect calculation time to the user I want to switch the 
> mouse pointer to an hour glass and back to arrow what it finish the 
> calculation.
> I use the following code but it doesn't seems to work in a deterministic 
> way. From time to time it skips the last line and keep the mouse pointer 
> as an hour glass.
>         watch = gtk.gdk.Cursor(gtk.gdk.WATCH)
>         widget.window.set_cursor(watch)
>         calculation code
>         widget.window.set_cursor(None)
> I would appreciate your advice on the right way to implement this.
Could the calculation code be raising an exception? Try adding some
logging to see whether the last lien is actually being called. You could
also use a try...finally... block to ensure that the last line is

     watch = gtk.gdk.Cursor(gtk.gdk.WATCH)
         calculation code

More information about the Python-list mailing list