Skip to content

Conversation

@MHendricks
Copy link
Collaborator

@MHendricks MHendricks commented Jan 2, 2026

The first of potentially several pull requests to update Qt.py, dropping support for Qt 5.13. The new minimum version of Qt is 5.15 adding support for more modules. This will be released under the 2.1 version of Qt.py to allow us to release patches for the previous Qt 5.13 versions if required.

NOTE: This will be rebased and merged on top of #450. See roadmap for the plan.

@MHendricks MHendricks self-assigned this Jan 2, 2026
@MHendricks MHendricks added the v2.1 To be implemented in the 2.1 release of Qt.py. Supporting Qt5.15+ only label Jan 2, 2026
@MHendricks MHendricks marked this pull request as draft January 3, 2026 03:06
@MHendricks MHendricks force-pushed the mikeh/2.1_drop_qt5.13 branch 3 times, most recently from 435c4e9 to dbb432a Compare January 3, 2026 03:54
@MHendricks MHendricks changed the base branch from master to master_2.0 January 5, 2026 19:43
@MHendricks MHendricks force-pushed the mikeh/2.1_drop_qt5.13 branch from dbb432a to 9542ea1 Compare January 5, 2026 19:47
@MHendricks MHendricks force-pushed the mikeh/2.1_drop_qt5.13 branch 2 times, most recently from fffb1d8 to 71354a8 Compare January 10, 2026 23:37
@MHendricks MHendricks force-pushed the mikeh/2.1_drop_qt5.13 branch 2 times, most recently from ddbedc6 to cee1eea Compare January 11, 2026 05:45
Excluding required python 2 specific fixes
Leaving Python 3 only fixes for now
Prevent json parsing errors caused by printing when printing json
Cy2020 uses python 3.7 and Qt 5.13.
Correct Cy2021 test to use python 3.7

Improve py 3.7 PyQt5-sip workaround in tox. This prevents needing to have
visual studio installed to compile sdist by forcing it to use versions
providing pre-built wheels.
On linux these require the pulse audio libraries.
Sorts PySide before PyQt and Qt 6 before Qt 5.

Also Remove QIntList from membership report. It will not be common for
the 2.0 versions of Qt.py because it is not available in PySide2, PyQt5
or PyQt6. It's also adding a lot of visual clutter being present in ~50
modules in PySide6.
Uses the common_members.json generated list

Update membership.py to exclude platform specific members
This includes a workaround for python 3.7 and PySide2 in python 3.9.
Update github actions for artifact upload/download
This enables mapping QAction to the QtGui for the PySide6 reference, but
still add it to QtWidgets for backwards compatibility.
Adds support for adding `Qt.QtOpenGl` and other modules. These modules
don't actually have any common members because the different bindings used
unique module names. For example in Qt6 all QtOpenGL functions are stored
under QtOpenGL, but in PySide2 they are stored under QtGui and QtOpenGLFunctions,
and PyQt5 is ... complex.

Also moves most of the extras passed to _setup into the `__extras__` key
of `_misplaced_members[binding]`. This allows QtSiteConfig to customize them.

Remove Qt 5.11 legacy support for PyQt5 sip import.

QtWidgets.QFileSystemModel is now mapped to all misplaced bindings and tested.
This shows how to use QtSiteConfig to add this module as well as modifying
the new `__extras__` misplaced member feature.
This adds several common members that had to be excluded when supporting Qt 5.13.
@MHendricks MHendricks force-pushed the mikeh/2.1_drop_qt5.13 branch from cee1eea to 5f803f1 Compare January 11, 2026 09:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

v2.1 To be implemented in the 2.1 release of Qt.py. Supporting Qt5.15+ only

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant