[IPython-dev] problems with qt4 threading

Darren Dale dd55 at cornell.edu
Thu Aug 23 12:52:20 EDT 2007


I recently reported a problem with ipython when using -q4thread, which showed 
up when I updated to qt-4.3 and PyQt-4.3. The original post didn't generate 
any interest, but the problem renders ipython unusable with qt4, so I wanted 
to post it once more. 

I made a little bit of progress with the attached patch, which silenced 
the "QSocketNotifier" messages. I can still make plots, interact with them, 
and close them. The patch can *not* be applied though, because a PyQt4 import 
appears outside of the class definitions.

I'll be away next week, I just needed to get this in print before I forget 
what I have learned today.

Darren

Here is the original post:
___
I recently updated to Qt-4.3 and PyQt-4.3. When I run "ipython -q4thread", I 
get a stream of error messages:

QSocketNotifier: Can only be used with threads started with QThread
QApplication::exec: Must be called from the main thread
QSocketNotifier: Can only be used with threads started with QThread
QApplication::exec: Must be called from the main thread
QSocketNotifier: Can only be used with threads started with QThread
QApplication::exec: Must be called from the main thread
...

I can interrupt IPython by hitting CTRL-D/Enter in rapid succession. If I run 
ipython -pylab with the qt4 backend enabled, I can still create plots and 
show windows, even with these warnings scrolling up the screen at a rate of 
10/second.

There is a page on threading in Qt4 here: 
http://doc.trolltech.com/4.3/threads.html

I'm sorry to say that after looking at the code for two hours, I don't have 
any suggestions on how to fix it.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Qt4Threading.diff
Type: text/x-diff
Size: 2261 bytes
Desc: not available
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20070823/2148e03f/attachment.diff>


More information about the IPython-dev mailing list