mixing PyQt(5) and Boost.Python

Stefan Seefeld stefan at seefeld.name
Tue Jul 20 21:44:17 BST 2021


I'm working on Python bindings for a set of C++ libraries / 
applications, some of which are using Qt.
The application code is instantiating many Qt objects, some of which I 
now want to expose to Python. For in-house C++ APIs this is easy, as I 
merely need to reflect the C++ types to Python using Boost.Python, so I 
can have functions such as

class A;
std::shared_ptr<A> create_a();
exposed to Python such that both, the type `A` as well as the function 
`create_a()` are known in Python.

Now assume `A` is actually a type with an existing Python wrapper in 
PyQt5. How can I instantiate `A` in C++ and then pass it to the Python 
runtime such that the PyQt5 bindings are used ? (To make this concrete, 
I want to make the `QQMLApplicationEngine` instance of my C++ app 
accessible in Python, so that I can use Python to script and - more 
importantly - introspect and test my application's GUI.

Any pointers ?

Many thanks,


       ...ich hab' noch einen Koffer in Berlin...

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.riverbankcomputing.com/pipermail/pyqt/attachments/20210720/77053b33/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .signature.png
Type: image/png
Size: 2754 bytes
Desc: not available
URL: <https://www.riverbankcomputing.com/pipermail/pyqt/attachments/20210720/77053b33/attachment.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: stefan.vcf
Type: text/x-vcard
Size: 4 bytes
Desc: not available
URL: <https://www.riverbankcomputing.com/pipermail/pyqt/attachments/20210720/77053b33/attachment.vcf>

More information about the PyQt mailing list