Ensure %gui qt works with new Mayavi and pylab

Bug #508953 reported by Fernando Perez
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
IPython
Confirmed
Critical
Fernando Perez

Bug Description

Right now mayavi/qt is only on SVN, but eventually we need to ensure that %gui qt allows mayavi/qt and pylab/qt to work together.

For more details:
http://mail.scipy.org/pipermail/ipython-dev/2010-January/005728.html

Revision history for this message
Michele Mattioni (mattions) wrote :

Expected:

- The window should respond to the command (zoom, rotate...)
   and not freeze.

- The prompt should be back and be responsive.

Revision history for this message
Michele Mattioni (mattions) wrote :

Ok, this is weird.

Sometimes the window freeze, sometimes respond to the command (like zoom and rotate).

However I can't get the prompt back and ready to insert a new command.

Revision history for this message
Brian Granger (ellisonbg) wrote : Re: [Bug 508953] Re: Ensure %gui qt works with new Mayavi and pylab

Mayavi and pylab are probably doing some funny things with the event
loop that is messing up
things. It will probably require someone looking through the
Mayavi/pylab/traits code carefully
to look for these things.

Cheers,

Brian

On Mon, Jan 18, 2010 at 4:02 AM, Michele Mattioni <email address hidden> wrote:
> Ok, this is weird.
>
> Sometimes the window freeze, sometimes respond to the command (like zoom
> and rotate).
>
> However I can't get the prompt back and ready to insert a new command.
>
> --
> Ensure %gui qt works with new Mayavi and pylab
> https://bugs.launchpad.net/bugs/508953
> You received this bug notification because you are a member of IPython
> Developers, which is subscribed to IPython.
>
> Status in IPython - Enhanced Interactive Python: Confirmed
>
> Bug description:
> Right now mayavi/qt is only on SVN, but eventually we need to ensure that %gui qt allows mayavi/qt and pylab/qt to work together.
>
> For more details:
> http://mail.scipy.org/pipermail/ipython-dev/2010-January/005728.html
>
>
>

--
Brian E. Granger, Ph.D.
Assistant Professor of Physics
Cal Poly State University, San Luis Obispo
<email address hidden>
<email address hidden>

Revision history for this message
Fernando Perez (fdo.perez) wrote :

The attached script can be run in ipython trunk-dev, and shows the problem:

maqroll[Desktop]> ip
Python 2.6.4 (r264:75706, Dec 7 2009, 18:45:15)
Type "copyright", "credits" or "license" for more information.

IPython 0.11.bzr.r1346 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object'. ?object also works, ?? prints more.

In [1]: gui -a qt
Out[1]: <PyQt4.QtGui.QApplication object at 0x93086ac>

In [2]: run qt_embedding.py

Button pushed

### Terminal is frozen here, until we close the mayavi window.

In contrast, if we run the same script in 0.10 with -q4thread:

(ipython-0.10)maqroll[Desktop]> ip -q4thread
Python 2.6.2 (release26-maint, Apr 19 2009, 01:56:41)
Type "copyright", "credits" or "license" for more information.

IPython 0.10 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object'. ?object also works, ?? prints more.

In [1]: run qt_embedding.py

In [2]: 1+1 # terminal accepts input though window remains open
Out[2]: 2

In [3]: Button pushed

Thanks to Gael for the feedback to fix the api calls in the example script.

Changed in ipython:
importance: High → Critical
milestone: none → 0.11
Changed in ipython:
assignee: nobody → Fernando Perez (fdo.perez)
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.