[IPython-dev] [matplotlib-devel] Uniform GUI support across matplotlib, ets and ipython

Fernando Perez fperez.net at gmail.com
Sat Sep 4 19:29:03 EDT 2010


Hi Michiel,

On Sat, Sep 4, 2010 at 1:11 AM, Michiel de Hoon <mjldehoon at yahoo.com> wrote:
> OK, then let's say ZMQ events are handled by polling. I assume that ZMQ does not use X11, otherwise this may break. If not, you should be OK.
>
> I assume that you plan to do this via QTimer in qt, or something similar for the other backends. So you need to find out if the Qt event loop is actually running. I know that in matplotlib's non-interactive mode the event loop may not be running. But since the drawing code was changed near the end of 2008 / early 2009, I don't know if there is still a good reason for matplotlib's non-interactive mode. If matplotlib were always in interactive mode, and you can be sure that there is an event loop running, your problem is solved, right?


Actually, many thanks for your help, coming from a surprising place!
This discussion you had with Ville:

https://bugs.launchpad.net/ipython/+bug/270856

especially around comment #6, put me in the right track.  I've now
committed the GTK support:

http://github.com/ipython/ipython/commit/13751b1c86126f974f13041a10f8da3920e3335c


I stumbled on that old thread on launchpad by accident, from my new
'Gmail Priority Inbox' showing it from my inbox because I had it
starred.  It was buried deep down in my normal inbox, but the new
priority inbox in gmail popped it to my attention, and when I read it
I realized that might actually do the trick for us.  Combining the
example in that thread with logic similar to what Brian had done for
Qt/Wx, along with some reading of the GTK apis, seems to have done the
trick.

I've been testing it a lot, and so far it seems to be working.

Regards,

f



More information about the IPython-dev mailing list