State of the Qt6 port
Halla Rempt
halla at valdyas.org
Fri Jan 31 14:56:22 GMT 2025
Once the last merge request is merged, Krita builds with Qt5 and Qt6. There should be no functional difference for the Qt5 builds. All tests build as well, except for those that need the missing dependencies. Krita 6 doesn't start yet...
These are the relevant merge requests
https://invent.kde.org/graphics/krita/-/merge_requests/2225
https://invent.kde.org/graphics/krita/-/merge_requests/2243
https://invent.kde.org/graphics/krita/-/merge_requests/2253
https://invent.kde.org/graphics/krita/-/merge_requests/2291
https://invent.kde.org/graphics/krita/-/merge_requests/2305
https://invent.kde.org/graphics/krita/-/merge_requests/2306
Not everything is done. Four dependencies are disregarded atm:
* KSeExpr (required version >= 6.0.0.0), <https://invent.kde.org/graphics/kseexpr>
Required by the SeExpr generator layer
* PyQt6 (required version >= 6.7.0), Python bindings for Qt6., <https://www.riverbankcomputing.com/software/pyqt/download>
Required by the Krita PyQt plugin
* Poppler, A PDF rendering library, <https://poppler.freedesktop.org/>
Required by the Krita PDF filter.
* KF5KDcraw (required version >= 5.0.0), A thread-safe wrapper around libraw, <https://api.kde.org/libkdcraw/html/index.html>
Needed for reading RAW files
I have only built on Linux, against distro packages for Qt6 and libraries that we use that use Qt6. To enable the Qt6 build, explicitly set BUILD_WITH_QT6=ON when calling cmake.
So, MacOS, Windows and Android are untested, except for making sure the Qt6 build builds.
The dependencies project has also not been ported to Qt6.
I have done nothing to support Wayland, so there is still X11 specific code.
There are ***MANY*** new warnings, mostly deprecations.
We still use the Qt5 compatibility library, mostly for QRegExp. I didn't want to touch QRegExp and port it to QRegularExpression, though I have done that in some simple cases.
There are 136 QT_VERSION_CHECKS in the codebase, but all version checks for different versions of Qt5 are gone :-)
More information about the kimageshop
mailing list