• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

build_history/H03-May-2022-

build_scripts/H11-Nov-2020-5,5733,698

coin/H11-Nov-2020-403394

dist/H11-Nov-2020-1,210945

docs/H11-Nov-2020-21

examples/H11-Nov-2020-57,65043,280

sources/H11-Nov-2020-419,725303,231

testing/H11-Nov-2020-1,6071,018

tools/H03-May-2022-2,9211,868

.gitattributesH A D11-Nov-2020416 1512

.gitignoreH A D11-Nov-20201.8 KiB153124

.gitmodulesH A D11-Nov-202093 43

.travis.ymlH A D11-Nov-2020417 1514

LICENSE.COMMERCIALH A D11-Nov-202046.2 KiB915716

LICENSE.FDLH A D11-Nov-202022.4 KiB451373

LICENSE.GPL2H A D11-Nov-202017.7 KiB340281

LICENSE.GPLv3H A D11-Nov-202034.8 KiB687561

LICENSE.GPLv3-EXCEPTH A D11-Nov-202035.5 KiB705574

LICENSE.LGPLv3H A D11-Nov-20207.9 KiB178136

README.cmake.mdH A D11-Nov-20201.7 KiB4029

README.mdH A D11-Nov-2020346 106

README.pyside2.mdH A D11-Nov-20202.9 KiB7852

README.shiboken2-generator.mdH A D11-Nov-20201.4 KiB3826

README.shiboken2.mdH A D11-Nov-2020622 1410

coin_build_instructions.pyH A D11-Nov-20207.4 KiB187112

coin_test_instructions.pyH A D11-Nov-20205.4 KiB12769

ez_setup.pyH A D11-Nov-202012.1 KiB377271

header.BSD-OLDH A D11-Nov-20201.9 KiB4039

keyword-errors.lstH A D11-Nov-20206.9 KiB4443

product_dependencies.yamlH A D11-Nov-202052 43

setup.pyH A D11-Nov-202010.8 KiB297181

testrunner.pyH A D11-Nov-20202.1 KiB5410

README.cmake.md

1# CMake super project
2For development convenience, a CMake super project is included in the root of the repository.
3
4The super project can be built using standalone CMake, or using an IDE's CMake integration
5(Qt Creator for example).
6
7Nevertheless the default build process is done via setup.py, in which case each of the
8sub-projects are built and installed separately, as mentioned, the super project is just
9for development convenience.
10
11## IDE (Qt Creator) case
12
13When using an IDE, just open the root CMakeLists.txt file as a new project, and make sure to
14specify the following things:
15
16 * LLVM_INSTALL_DIR - the environment variable should point to your libclang library location
17 * Qt               - either select a Qt Kit when configuring the project, or make sure that the
18                      qmake binary is present in the PATH environment variable.
19 * Python           - the PATH environment variable should also point to the Python interpreter
20                      which you wish to use for building the projects (can either be a system
21                      interpreter, or a virtualenv one for example)
22
23Once that is done, just re-run CMake, so that it picks up the new environment values.
24If needed, all other cache variables defined by the project files can be re-adjusted
25(for example FORCE_LIMITED_API).
26
27## Command line CMake case
28
29When building using the command line CMake binary, make sure to invoke it in a separate
30build directory, and not in the root source directory.
31
32Make sure you have the correct environment variables set up, as described in the previous section.
33
34The invocation would then look like:
35```bash
36mkdir build && cd build
37cmake -DCMAKE_BUILD_TYPE=Release ..
38# make or nmake or msbuild or jom
39```
40

README.md

1# Qt For Python
2
3Qt For Python is the [Python Qt bindings project](http://wiki.qt.io/PySide2), providing
4access to the complete Qt 5.x framework as well as to generator tools for rapidly
5generating bindings for any C++ libraries.
6
7shiboken2 is the generator used to build the bindings.
8
9See README.pyside2.md and README.shiboken2.md for details.
10

README.pyside2.md

1# PySide2
2
3### Introduction
4
5PySide2 is the official Python module from the
6[Qt for Python project](http://wiki.qt.io/Qt_for_Python),
7which provides access to the complete Qt 5.12+ framework.
8
9The Qt for Python project is developed in the open, with all facilities you'd expect
10from any modern OSS project such as all code in a git repository and an open
11design process. We welcome any contribution conforming to the
12[Qt Contribution Agreement](https://www.qt.io/contributionagreement/).
13
14### Installation
15
16Since the release of the [Technical Preview](https://blog.qt.io/blog/2018/06/13/qt-python-5-11-released/)
17it is possible to install via `pip`, both from Qt's servers
18and [PyPi](https://pypi.org/project/PySide2/):
19
20    pip install PySide2
21
22#### Dependencies
23
24PySide2 versions following 5.12 use a C++ parser based on
25[Clang](http://clang.org/). The Clang library (C-bindings), version 6.0 or
26higher is required for building. Prebuilt versions of it can be downloaded from
27[download.qt.io](http://download.qt.io/development_releases/prebuilt/libclang/).
28
29After unpacking the archive, set the environment variable *LLVM_INSTALL_DIR* to
30point to the folder containing the *include* and *lib* directories of Clang:
31
32    7z x .../libclang-release_60-linux-Rhel7.2-gcc5.3-x86_64-clazy.7z
33    export LLVM_INSTALL_DIR=$PWD/libclang
34
35On Windows:
36
37    7z x .../libclang-release_60-windows-vs2015_64-clazy.7z
38    SET LLVM_INSTALL_DIR=%CD%\libclang
39
40### Building from source
41
42For building PySide2 from scratch, please read about
43[getting started](https://wiki.qt.io/Qt_for_Python/GettingStarted).
44This process will include getting the code:
45
46    git clone https://code.qt.io/pyside/pyside-setup
47    cd pyside-setup
48    git branch --track 5.12 origin/5.12
49    git checkout 5.12
50
51then install the dependencies, and following the instructions per platform.
52A common build command will look like:
53
54    python setup.py install --qmake=<path/to/qmake/> --parallel=8 --build-tests
55
56You can obtain more information about the options to build PySide
57and Shiboken in [our wiki](https://wiki.qt.io/Qt_for_Python/).
58
59### Documentation and Bugs
60
61You can find more information about the PySide2 module API in the
62[official Qt for Python documentation](https://doc.qt.io/qtforpython/).
63
64If you come across any issue, please file a bug report at our
65[JIRA tracker](https://bugreports.qt.io/projects/PYSIDE) following
66our [guidelines](https://wiki.qt.io/Qt_for_Python/Reporting_Bugs).
67
68### Community
69
70Check *#qt-pyside*, our official IRC channel on FreeNode,
71or contact us via our [mailing list](http://lists.qt-project.org/mailman/listinfo/pyside).
72
73### Licensing
74
75PySide2 is available under both Open Source (LGPLv3/GPLv2) and commercial license.
76Using PyPi is the recommended installation source, because the content of the wheels is valid for both cases.
77For more information, refer to the [Qt Licensing page](https://www.qt.io/licensing/).
78

README.shiboken2-generator.md

1# Shiboken2-generator
2
3Shiboken is the generator used by the Qt for Python project.
4It outputs C++ code for CPython extensions, which can be compiled
5and transformed into a Python module.
6
7C++ projects based on Qt can be wrapped, but also projects
8which are not related to Qt.
9
10## How does it work?
11
12Shiboken uses an API Extractor that does most of the job,
13but it requires a typesystem (XML file) to customize how the
14C++ classes/methods will be exposed to Python.
15
16The typesystem allows you to remove arguments from signatures,
17modify return types, inject code and add conversion rules
18from the C++ data types to Python data types, manipulate
19the ownership of the objects, etc.
20
21# Examples
22
23An example related to wrap a C++ library not depending on Qt
24can be found in our [repository](https://code.qt.io/cgit/pyside/pyside-setup.git/tree/examples/samplebinding).
25
26Additionally, you can find a couple of tests inside the
27[git repository](https://code.qt.io/cgit/pyside/pyside-setup.git/tree/sources/shiboken2/tests).
28
29For a more advanced case regarding extending a Qt/C++ application
30with Python bindings based on the idea of the PySide module,
31you can check the [scriptableapplication](https://code.qt.io/cgit/pyside/pyside-setup.git/tree/examples/scriptableapplication)
32example in our repository.
33
34# Documentation
35
36You can find more information about Shiboken in our
37[official documentation page](https://doc.qt.io/qtforpython/shiboken2/).
38

README.shiboken2.md

1# Shiboken2 module
2
3The purpose of the [shiboken2 Python module](https://wiki.qt.io/Qt_for_Python/Shiboken)
4is to access information related to the binding generation that could be used to integrate
5C++ programs to Python, or even to get useful information to debug
6an application.
7
8Mostly the idea is to interact with Shiboken objects,
9where one can check if it is valid, or if the generated Python wrapper
10is invalid after the underlying C++ object has been destroyed.
11
12More information on the available functions can be found
13in our [official documentation](https://doc.qt.io/qtforpython/shiboken2/shibokenmodule.html)
14