[PyQt] C++ and embedded python, how to share gui thread?

Michael Olberg michael.olberg at chalmers.se
Thu May 17 11:19:29 BST 2007


I have just installed Ubuntu Feisty on my laptop and everything appears to work 
fine again. So consider the problem solved for the moment ;-).

thanks for all advice I received,
Michael

Patrick Stinson wrote:
> there is only one QApplication. Even in apps where you are writing a
> graphical plugin that will be used in a native event loop, you have to
> manage one QApplication instance. So, if your C++ app created a
> QApplication then you don't have to worry about it just create the
> PyQt widgets at will. This will all work the best if the qt lib you
> are using is a shared library or dll, because you don't want to link
> it in twice; once with the C++ app and once with the PyQt4 module.
> 
> I Hope that helps a little. I have more info on how I did the same thing 
> here:
> 
> http://www.patrickkidd.com/pk/trac/wiki/EmbeddedPythonWidgets
> 
> On 5/16/07, Michael Olberg <michael.olberg at chalmers.se> wrote:
>> Dear all,
>>
>> I have a scientific application programmed in C++ with the Qt widget 
>> set. I have
>> embedded a Python interpreter to allow me to control the application via
>> scripts. I can even import the python-qt bindings in those scripts and 
>> create
>> graphical dialogs. So at present everything works(!) as expected.
>>
>> However, this works with an old setup of Debian sarge and the
>> python2.3-qt3_3.11-4_i386.deb package. A number of upgrades have 
>> happened since
>> then, with python, with qt, and even with Debian. With newer versions
>> non-graphical scripts still work, but any attempt to open Qt dialogs 
>> from the
>> embedded python interpreter hangs the application.
>>
>> It appears to me that this has to do with how later versions of the 
>> python-qt
>> package access the main Qt GUI thread, which in my case is already 
>> started by
>> the underlying C++ application.
>>
>> I wonder if this is documented somewhere, with an example on how to 
>> start the
>> python interpreter so that the C++ and python can share the same Qt 
>> GUI? I'd
>> very much like to upgrade my system without breaking this application, 
>> which I
>> use for daily work.
>>
>> any info appreciated,
>> Michael
>> _______________________________________________
>> PyQt mailing list    PyQt at riverbankcomputing.com
>> http://www.riverbankcomputing.com/mailman/listinfo/pyqt
>>
> 
> 


More information about the PyQt mailing list