diff options
Diffstat (limited to 'README.shiboken6-generator.md')
-rw-r--r-- | README.shiboken6-generator.md | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/README.shiboken6-generator.md b/README.shiboken6-generator.md new file mode 100644 index 000000000..11e345f1d --- /dev/null +++ b/README.shiboken6-generator.md @@ -0,0 +1,36 @@ +# Shiboken6-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](https://code.qt.io/cgit/pyside/pyside-setup.git/tree/examples/samplebinding). + +Additionally, you can find a couple of tests inside the +[git repository](https://code.qt.io/cgit/pyside/pyside-setup.git/tree/sources/shiboken6/tests). + +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](https://code.qt.io/cgit/pyside/pyside-setup.git/tree/examples/scriptableapplication) +example in our repository. + +# Documentation + +You can find more information about Shiboken in our +[official documentation page](https://doc.qt.io/qtforpython/shiboken6/). |