Adapt to new Qt versions#
Adapting to source changes#
The dev branch of PySide is switched to a new Qt minor version after its API review is finished and the API is stable.
Until that happens, a patch should be continuously developed to adapt to this version.
The new classes page is a good source of information for new API.
New classes and should be added to the type system file (using
a since
attribute) and CMakeList.txt
file of the respective module.
Should the class not be available on all platforms, the respective
QT_CONFIG
macro needs to be specified in the type system file and
feature checks need to be added to CMakeList.txt
(see for example
QPermission
).
The process consists of running a build and evaluating the log file. The script shiboken2tasks.py from the Qt Creator repository can be used to convert the shiboken warnings into a task file for display in the build issues pane of Qt Creator.
Warnings about new enumerations will be shown there; they should be added
to type system file using a since
attribute.
Warnings about not finding a function signature for modification
also need to be handled; mostly this is a sign of a function parameter
being changed from int
to qsizetype
or similar.
If the build succeeds, a test run should be done.
The Qt source code should be checked for new overloads
(indicated by QT6_DECL_NEW_OVERLOAD_TAIL
starting from 6.7).
The resolution needs to be decided for each individual case,
mostly by removing old functions and using <declare-function>
to declare new API.
Bumping the version#
To instruct COIN
to use the next version of Qt, adapt the files
coin/dependencies.yaml
and/or product_dependencies.yaml
accordingly.
Next, the wheel names should be changed by adapting
sources/shiboken6/.cmake.conf
and sources/pyside6/.cmake.conf
.