Qt wiki will be updated on October 12th 2023 starting at 11:30 AM (EEST) and the maintenance will last around 2-3 hours. During the maintenance the site will be unavailable.
PySide2
Qt for Python
The Pyside 2 project aims to provide a complete port of PySide to Qt 5.x. The development started on GitHub in May 2015. The project managed to port Pyside to Qt 5.3, 5.4 & 5.5. During April 2016 The Qt Company decided to properly support the port (see details ).
This wiki page tracks the progress of PySide for Qt 5.x development and provides further information concerning the effort.
Getting Started
- Getting started guide for macOS, Windows and Linux
- Bug tracker to report any issue.
- CodeReview and PySide2 open patches
- Git repository (5.9 branch is the branch currently worked on for PySide2)
Community
- IRC channel on FreeNode #qt-pyside
- Official Mailing list
- pyside team on Keybase
Development Status
Missing PySide2 bindings
The list of the current missing bindings can be found in:
Backlog
The list below represents some short term targets and long term ideas for Pyside2 development. There is no guarantee that this will happen as written down. It is meant as a short reminder and idea collection for future development. In the long term this list is likely to move to https://bugreports.qt.io/browse/PYSIDE.
- First time with Pyside (Document how to get started on this wiki)
- Testing Infrastructure
- What has been done so far?
- Qt CI support (PYSIDE-431)
- make test
- cmake based build system (all repos)
- pip installable Pyside
- CI has to setup virtual Python environment
- Use pip to install/build Pyside (release bundling)
- Future changes to PySide
- Gaps (modules & API)
- Identify the extent of the gaps by porting existing examples from Qt4 to Qt5 (done)
- Plugin system (in what form or shape do we need it is uncertain - some failing tests exist already)
- Prepare a summary of gaps for other modules
- Fundamental Architecture changes
- Shiboken
- Clang support (PYSIDE-323)
- QtQML support (PYSIDE-355)
- Shiboken
- MyPy (type annotation - fully typed Python API)
- General Python features and their adoption in PySide (e.g. Async I/O)
- Creator and tooling
- Fix QtC debugger to understand Python/C++ mixed internals
- Documentation generation
- Deployment of apps
- Debugging support
- Gaps (modules & API)
- Must have tasks for first release
- Packaging (e.g. pip deployment? )
- Clarify Installer story
- Documentation
- Product placement decisions
- Licensing
- Naming
- etc
- Complete CI coverage
Pyside Development Progress Notes
The most current view of the progress can be found in Jira:
The second link is useful to monitor the progress of the backlog. The best way to achieve this is to sort the list by the "Updated" column. Larger backlog/feature items are filed as "User Stories" in Jira.
Outstanding tasks for release
- Determine Pyside package number
- Ensure multi target packages can be created (long standing - reduced Python API usage )
- General Doc changes required for release
- Getting started
- Some examples documented
- pyinstaller usage
- Class documentation polish
- snapshot generation on http://doc-snapshot.qt-project.org/
The summary of the development progress can be found in Development Notes by date