pygtk - What is the best way to change the mouse pointer
Ido Levy
IDOL at il.ibm.com
Thu Aug 27 06:57:49 EDT 2009
> From:
>
> MRAB <python at mrabarnett.plus.com>
>
> To:
>
> python-list at python.org
>
> Date:
>
> 26/08/2009 11:04 PM
>
> Subject:
>
> Re: pygtk - What is the best way to change the mouse pointer
>
> 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
> called:
>
> watch = gtk.gdk.Cursor(gtk.gdk.WATCH)
> widget.window.set_cursor(watch)
> try:
> calculation code
> finally:
> widget.window.set_cursor(None)
>
Thank you for your input.
I used logging and it seems that the last line is called.
I also used try...finally... block but it didn't solve the issue.
Then I have noticed that the line before the last one is widget.connect()
I insert time.sleep() in between the lines and it seems to solve the
issue.
I assume it's not suppose to work this way but it can be considered as a
workaround
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20090827/8f98d479/attachment-0001.html>
More information about the Python-list
mailing list