Skip to content

Latest commit

 

History

History
37 lines (26 loc) · 1.41 KB

README.shiboken2-generator.md

File metadata and controls

37 lines (26 loc) · 1.41 KB

Shiboken2-generator

Shiboken is the generator used by the Qt for Python project. It outputs C++ code for CPython extensions, which can be compiled and transformed into a Python module.

C++ projects based on Qt can be wrapped, but also projects which are not related to Qt.

How does it work?

Shiboken uses an API Extractor that does most of the job, but it requires a typesystem (XML file) to customize how the C++ classes/methods will be exposed to Python.

The typesystem allows you to remove arguments from signatures, modify return types, inject code and add conversion rules from the C++ data types to Python data types, manipulate the ownership of the objects, etc.

Examples

An example related to wrap a C++ library not depending on Qt can be found in our repository.

Additionally, you can find a couple of tests inside the git repository.

For a more advanced case regarding extending a Qt/C++ application with Python bindings based on the idea of the PySide module, you can check the scriptableapplication example in our repository.

Documentation

You can find more information about Shiboken in our official documentation page.