Qt Company heeft de release van het Qt 6.5-framework bekendgemaakt, waarin is doorgegaan met de stabilisatie en uitbreiding van de functionaliteit van de Qt 6-tak. Qt 6.5 biedt ondersteuning voor de platforms Windows 10+, macOS 11+, Linux (Ubuntu 20.04, openSUSE 15.4, SUSE 15 SP4, RHEL 8.4/9.0), iOS 14+, Android 8+ (API 23+), webOS, WebAssembly, INTEGRITY en QNX. De bronbestanden van de Qt-componenten worden geleverd onder de LGPLv3 en GPLv2-licenties.
Qt 6.5 heeft de status van LTS-release gekregen, waarbij updates voor gebruikers van de commerciële licentie gedurende drie jaar worden aangeboden (voor anderen worden updates gepubliceerd gedurende zes maanden tot de volgende significante release). De ondersteuning voor de vorige LTS-tak Qt 6.2 duurt tot 30 september 2024. De Qt 5.15-tak zal worden ondersteund tot mei 2025.
Belangrijkste veranderingen in Qt 6.5:
- De module Qt Quick 3D Physics is gestabiliseerd en is nu volledig ondersteund; deze biedt een API voor het simuleren van fysische processen die samen met Qt Quick 3D kan worden gebruikt voor realistische interactie en verplaatsing van objecten in 3D-scènes. De implementatie is gebaseerd op de PhysX-engine.
- Ondersteuning voor de donkere modus van het platform Windows is toegevoegd. Automatische toepassing van de geactiveerde donkere modus in het systeem en aanpassing van de randen en koptekst, indien in de applicatie een stijl wordt gebruikt die de kleurenschema niet verandert. De applicatie kan een eigen reactie op wijzigingen in het systeemthema instellen via de verwerking van de wijziging van de eigenschap QStyleHints::colorScheme.

- In Qt Quick Controls is de Material-stijl voor Android in overeenstemming gebracht met de richtlijnen van Material 3. Een volledige stijl is gerealiseerd voor iOS. API's zijn toegevoegd voor het aanpassen van het uiterlijk (bijvoorbeeld containerStyle voor TextField of TextArea, of roundedScale voor knoppen en pop-upblokken).

- Op het macOS-platform wordt in applicaties die gebruik maken van QMessageBox of QErrorMessage een native dialogen voor het platform weergegeven.

- Voor Wayland is de programmeerinterface QNativeInterface::QWaylandApplication toegevoegd voor directe toegang tot de native Wayland-objecten die worden gebruikt in de interne structuren van Qt, evenals voor toegang tot informatie over de recente gebruikersactiviteiten, die kan worden gevraagd voor door te geven aan de extensies van het Wayland-protocol. De nieuwe programmeerinterface is geïmplementeerd in de namespace QNativeInterface, waar ook aanroepen worden verstrekt voor toegang tot de native API's van de platforms X11 en Android.
- Ondersteuning voor Android 12 is toegevoegd en ondanks aanzienlijke wijzigingen in deze tak is de mogelijkheid behouden om universele builds voor Android te maken, die kunnen functioneren op apparaten met verschillende versies van Android, te beginnen met Android 8.
- De Boot2Qt stack is bijgewerkt, wat kan worden gebruikt voor het creëren van opstartbare mobiele systemen met een omgeving gebaseerd op Qt en QML. De systeemomgeving in Boot2Qt is bijgewerkt naar het Yocto-platform 4.1 (Langdale).
- De vorming van pakketten voor Debian 11 is begonnen, waarvoor commerciële ondersteuning beschikbaar is.
- De mogelijkheden van het WebAssembly-platform zijn uitgebreid, waardoor Qt-toepassingen kunnen worden gemaakt die draaien in een webbrowser en overdraagbaar zijn tussen verschillende hardwareplatforms. Toepassingen die zijn samengesteld voor het WebAssembly-platform presteren dankzij JIT-compilatie met een prestaties dicht bij native code, kunnen Qt Quick, Qt Quick 3D en beschikbare visualisatiehulpmiddelen in Qt gebruiken. In de nieuwe versie is ondersteuning toegevoegd voor videoweergave en gebruik in widgets voor mensen met een beperking.
- De web-engine Qt WebEngine is bijgewerkt naar de Chromium 110 codebase. Op het Linux-platform is ondersteuning geïmplementeerd voor hardwarematige versnelling van videoweergave met behulp van de graphics API Vulkan in omgevingen op basis van X11 en Wayland.
- De module Qt Quick Effects is toegevoegd, die kant-en-klare grafische effecten biedt voor interfaces op basis van Qt Quick. Eigen effecten kunnen vanaf nul worden gemaakt of worden verkregen door bestaande effecten te combineren met behulp van de Qt Quick Effect Maker-tool.
- In de module Qt Quick 3D is de mogelijkheid toegevoegd om het detailniveau van modellen aan te passen (bijvoorbeeld voor objecten die ver van de camera zijn geplaatst, kunnen eenvoudigere meshes worden gegenereerd). In de SceneEnvironment API is ondersteuning voor mist en geleidelijke verdwijning van verre objecten geïmplementeerd. In de ExtendedSceneEnvironment zijn mogelijkheden toegevoegd voor het creëren van complexe post-processing effecten en het combineren van effecten zoals scherptediepte, gloei en schittering.
- Een experimentele module Qt GRPC is toegevoegd met ondersteuning voor gRPC en Protocol Buffer protokollen, waarmee kan worden ingelogd op gRPC-diensten en het serialiseren van Qt-klassen met Protobuf.
- In de module Qt Network is de ondersteuning voor het instellen van HTTP 1-verbindingen toegevoegd.
- In de Qt Serial Bus-module zijn experimentele klassen toegevoegd voor het werken met de CAN-bus, die kunnen worden gebruikt voor het coderen en decoderen van CAN-berichten, het verwerken van frames en het parseren van DBC-bestanden.
- De Qt Location-module is herleefd, die toepassingen de middelen biedt voor het integreren van kaarten, navigatie en het markeren van interessante locaties (POI). De module ondersteunt een plugin-interface waarmee backends voor verschillende serviceproviders kunnen worden aangesloten en API-extensies kunnen worden gemaakt. De module heeft momenteel de status van experimenteel en ondersteunt alleen de backend voor kaarten op basis van Open Street Maps.

- De mogelijkheden van de modules Qt Core, Qt GUI, Qt Multimedia, Qt QML, Qt Quick Compiler en Qt Widgets zijn uitgebreid.
- Er is veel werk verzet om de stabiliteit te verbeteren, waarbij ongeveer 3500 bugrapporten zijn opgelost.
Bron: opennet.ru




