Qt Company har publisert en ny versjon av Qt 6.5, som fortsetter arbeidet med stabilisering og utvidelse av funksjonaliteten i Qt 6-grenen. Qt 6.5 gir støtte for plattformene 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 og QNX. Kildekoden for Qt-komponentene leveres under LGPLv3 og GPLv2-lisenser.
Qt 6.5 har fått LTS-status, som betyr at oppdateringer for brukere med kommersiell lisens vil bli utgitt i løpet av de neste tre årene (for andre brukere kommer oppdateringer til å publiseres i løpet av seks måneder før neste store versjon). Støtten for den tidligere LTS-grenen Qt 6.2 vil vare frem til 30. september 2024. Qt 5.15-grenen vil bli støttet frem til mai 2025.
Hovedendringer i Qt 6.5:
- Modulen Qt Quick 3D Physics er stabilisert og flyttet til kategorien helt støttede moduler, og gir API for simulering av fysiske prosesser som kan brukes med Qt Quick 3D for realistisk interaksjon og bevegelse av objekter i 3D-scener. Implementeringen er basert på PhysX-motoren.
- Støtte for mørkt design er lagt til for Windows-plattformen. Automatisk anvendelse av aktivert mørkt design i systemet og tilpasning av rammer og overskrift, hvis appen bruker en stil som ikke endrer paletten. I appen kan man tilpasse egen respons på endringer i systemtemaet via håndtering av endringen i QStyleHints::colorScheme-egenskapen.

- I Qt Quick Controls er Material-stilen for Android oppdatert i samsvar med retningslinjene for Material 3. En fullstendig stil for iOS har blitt implementert. API-er for å endre utseendet (for eksempel containerStyle for TextField eller TextArea, eller roundedScale for knapper og pop-up-bokser) er lagt til.

- På macOS-plattformen vil applikasjoner som bruker QMessageBox eller QErrorMessage vise native dialoger for plattformen.

- For Wayland er det lagt til et API, QNativeInterface::QWaylandApplication, for direkte tilgang til native objekter for Wayland, som brukes i de interne strukturene i Qt, samt for å få tilgang til informasjon om brukerens siste handlinger, som kan være nødvendig for overføring til Wayland-protokollutvidelser. Det nye API-et er implementert i QNativeInterface-navnerommet, hvor det også tilbys kall for tilgang til native API-er for X11 og Android.
- Støtte for Android 12-plattformen er lagt til, og til tross for betydelige endringer i denne grenen, er muligheten for å lage universelle bygg for Android bevart, som kan fungere på enheter med forskjellige versjoner av Android, fra Android 8 og oppover.
- Boot2Qt-stakken er oppdatert og kan brukes til å lage oppstartbare mobile systemer med et miljø basert på Qt og QML. Systemmiljøet i Boot2Qt er oppdatert til Yocto 4.1-plattformen (Langdale).
- Pakker for Debian 11 begynner å bli dannet, som vil være under kommersiell støtte.
- Mulighetene i WebAssembly-plattformen er utvidet, noe som gjør det mulig å lage Qt-applikasjoner som fungerer i nettleseren og er portable mellom forskjellige maskinvareplattformer. Applikasjoner bygget for WebAssembly-plattformen kjører nær nativ kodeytelse takket være JIT-kompilering, kan bruke Qt Quick, Qt Quick 3D og tilgjengelige visualiseringsverktøy i Qt. Den nye versjonen har lagt til støtte for videovisning og funksjoner for brukere med nedsatt funksjonsevne i widgets.
- Qt WebEngine-motoren er oppdatert til Chromium 110-kodebasen. På Linux-plattformen er det implementert støtte for maskinvareakselerasjon av videovisning ved bruk av Vulkan grafikk-API i miljøer basert på X11 og Wayland.
- Qt Quick Effects-modulen er lagt til, som gir klare grafiske effekter for grensesnittet basert på Qt Quick. Egendefinerte effekter kan lages fra bunnen av eller oppnås ved å kombinere eksisterende effekter ved hjelp av Qt Quick Effect Maker-verktøyet.
- I Qt Quick 3D-modulen er det mulig å justere detaljnivået på modeller (for eksempel kan enklere mesh genereres for objekter som er langt fra kameraet). API-en SceneEnvironment har støtte for tåke og gradvis fading av fjerne objekter. I ExtendedSceneEnvironment er det muligheter for å lage komplekse post-prosesseringseffekter og kombinere effekter som dybdeskarphet, glød og refleksjoner.
- En eksperimentell Qt GRPC-modul er lagt til, med støtte for gRPC- og Protocol Buffer-protokoller, som gjør det mulig å få tilgang til gRPC-tjenester og utføre serialisering av Qt-klasser ved hjelp av Protobuf.
- I Qt Network-modulen er støtte for tilpasning av HTTP 1-forbindelser lagt til.
- Qt Serial Bus-modulen har fått eksperimentelle klasser for arbeid med CAN-bussen, som kan brukes til koding og dekoding av CAN-meldinger, håndtering av rammer og parsing av DBC-filer.
- Qt Location-modulen er gjenopplivet, og gir applikasjoner verktøy for integrering av kart, navigasjon og merking av interessante steder (POI). Modulen støtter et plugin-grensesnitt som gjør det mulig å koble til backend-er for forskjellige tjenesteleverandører og lage API-utvidelser. Modulen har foreløpig status som eksperimentell og støtter kun backend for kart basert på Open Street Maps.

- Mulighetene i Qt Core, Qt GUI, Qt Multimedia, Qt QML, Qt Quick Compiler og Qt Widgets-modulene er utvidet.
- Det er gjort betydelig arbeid for å øke stabiliteten, med omtrent 3500 feilrapporter lukket.
Kilde: opennet.ru




