blob: 9403293ac4e101afb06b608a253c5dfe44181b0c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
Shiboken the Binding Generator
*******************************
Shiboken is the CPython-based binding code generator for C or C++ libraries.
It uses an ApiExtractor library to parse the C or C++ headers and get the
type information, using Clang. The library can also be used to parse non-Qt
projects. The following diagram summarizes Shiboken's role in the PySide
project.
.. image:: images/qtforpython-underthehood.png
A typesystem file (XML) is used to specify the types to be exposed to Python
and to apply modifications to properly represent and manipulate the types in
the Python World. For example, you can remove and add methods to certain types,
and also modify the arguments of each method. Such actions are inevitable to
properly handle the data structures or types.
The final outcome of this process is a set of wrappers written in CPython,
which can be used as a module in your python code.
Table of contents
*****************
.. toctree::
:maxdepth: 1
overview.rst
samplebinding.rst
commandlineoptions.rst
projectfile.rst
typesystemvariables.rst
typeconverters.rst
codeinjectionsemantics.rst
sequenceprotocol.rst
ownership.rst
wordsofadvice.rst
shibokenmodule.rst
faq.rst
typesystem.rst
|