Qt for Python/GettingStarted
Considerations before starting
PySide2 supports Python 2 (recommended: 2.7 onwards, Compatibility module six installed) and Python 3 (recommended: 3.5 onwards).
Currently, only Qt 5.6 is supported. Qt needs to be build with the QtXmlPatterns module.
Development happens in the dev branches of the repositories. The top level repository has several submodules:
- sources/shiboken2: Shiboken Parser
- sources/pyside2: PySide 2
- sources/pyside2-examples: Examples
- sources/pyside2-tools: uic, rcc
- wiki: Wiki
Contributions follow the standard process.
Building requires CMake.
It is helpful to have debug binaries and/or symbols for Python available. On Windows, this is done choosing Customized Installation when installing python and ticking the respective check boxes. On Linux, debug packages can be installed in addition. For Ubuntu, the packages python3-dbg, libpython3-dbg provide a debug binary python3-dbg.
It is also recommended to use a Virtual Environment for testing to be able to always start from a clean base and avoid issues with write permissions in installations.
On Linux, the command
virtualenv -p /usr/bin/python3-dbg testenv
creates a Virtual Environment named testenv for debugging purposes. On Windows, an installation step may be required:
python -m pip install virtualenv python -m virtualenv testenv
The Virtual Environment is activated by
The script setup.py in the top level repository is used to build and install the PySide2 package. It takes a mode argument (build or install) and several options.
- --qmake=<binary> Path to qmake of the Qt library to be used
- --cmake=<binary> Path to cmake
Further options of interest:
- ---ignore-git: Prevents setup.py from cloning and checking out the submodules.
- --build-tests: Creates a directory containing the tests along with some helper packages
- --debug: Build in Debug mode
- --openssl: Path to OpenSSL
A typical invokation looks like:
setup.py install ---ignore-git --build-tests --qmake=../bin/qmake --cmake=/usr/bin/cmake
A successful build can be tested by running an example: