Hello,<br><br>The thread switches will be gone by the release of the new IPython. I am assuming that some extra work needs to be done on both sides in preparation to the new release. See the following test cases:<br><br><br>
### This one locks the IPython unless the figure window is killed. If you do an additional plt.show() without a figure is up then you get a complete lock-up of the shell. <br><br>I[1]: import matplotlib.pyplot as plt<br><br>
I[2]: %gui qt<br><br>I[3]: plt.plot(range(10))<br>O[3]: [&lt;matplotlib.lines.Line2D object at 0xab2686c&gt;]<br><br>I[4]: plt.show()<br><br><br><br> <br>### The following cannot resolve that issue<br><br>I[5]: %gui   #disable event loops<br>
<br>I[6]: %gui -a qt<br>O[6]: &lt;PyQt4.QtGui.QApplication object at 0xaa477ac&gt;<br><br>I[7]: plt.plot(range(10))<br>O[7]: [&lt;matplotlib.lines.Line2D object at 0xaf237ac&gt;]<br><br>I[8]: plt.show()<br><br><br><br>### In a  new IPython, these lines work --no locking after plt.show() &quot;-a&quot; makes the difference.<br>
<br>I[1]: import matplotlib.pyplot as plt<br><br>I[2]: %gui -a qt<br>O[2]: &lt;PyQt4.QtGui.QApplication object at 0x8fdceac&gt;<br><br>I[3]: plt.plot(range(10))<br>O[3]: [&lt;matplotlib.lines.Line2D object at 0x9a2c84c&gt;]<br>
<br>I[4]: plt.show()<br><br><br><br>================================================================================<br>Platform     : Linux-2.6.29.6-217.2.3.fc11.i686.PAE-i686-with-fedora-11-Leonidas<br>Python       : (&#39;CPython&#39;, &#39;tags/r26&#39;, &#39;66714&#39;)<br>
IPython      : 0.11.bzr.r1205<br>NumPy       : 1.4.0.dev<br>Matplotlib   : 1.0.svn<br>================================================================================<br><br>-- <br>Gökhan<br>