Qt Company har publisert lanseringen av Qt-rammeverket 6.4, der arbeidet med stabilisering og funksjonsutvidelse av Qt 6-filen fortsetter. I Qt 6.4 er det sikret støtte for plattformene Windows 10+, macOS 10.15+, Linux (Ubuntu 20.04, CentOS 8.2, openSUSE 15.3, SUSE 15 SP2), iOS 14+, Android 6+ (API 23+), webOS, WebAssembly, INTEGRITY og QNX. Kildekodene for Qt-komponentene leveres under lisensene LGPLv3 og GPLv2.
Hovedendringer i Qt 6.4:
- Det er implementert full støtte for WebAssembly-plattformen, som gjør det mulig å lage Qt-applikasjoner som kjører i nettleseren og kan overføres mellom forskjellige maskinvareplattformer. Applikasjoner som bygges for WebAssembly-plattformen, oppnår ytelse nær den til native kode takket være JIT-kompilering, kan bruke Qt Quick, Qt Quick 3D og tilgjengelige verktøy for visualisering i Qt. Siden applikasjonen basert på WebAssembly kjører i et isolert miljø i nettleseren, er tilgangen til noen API-er for arbeide med lokale ressurser og operativsystemtjenester begrenset, men det tilbys API-er for integrering med nettleseren.
- Modulen Qt TextToSpeech, som ble levert i Qt 5, men ikke inkludert i Qt 6-filen, er nå tilbake i hovedpakken. Modulen gir verktøy for talegenerering, noe som kan brukes for å forbedre tilgjengeligheten av applikasjoner for personer med funksjonshemminger, eller for å implementere nye metoder for bakgrunnsinformering av brukere, for eksempel ved å vise varsler i applikasjoner for bilens informasjons- og underholdningssystemer. På Linux skjer tekst-til-tale-konvertering ved hjelp av Speech Dispatcher-biblioteket (libspeechd), mens den på andre plattformer skjer gjennom operativsystemets standard API.
- Det er lagt til en eksperimentell modul for implementering av iOS-stil for Qt Quick. Applikasjoner basert på Qt Quick Controls kan automatisk bruke denne modulen for å skape native grensesnittdesign på iOS-plattformen, på samme måte som native design brukes på Windows, macOS og Android.


- Det er lagt til en eksperimentell modul QtHttpServer, som gjør det mulig å integrere HTTP-serverfunksjonalitet i applikasjoner, som støtter HTTP/1.1, TLS/HTTPS, WebSockets, feilbehandling, ruting av forespørsel basert på URL-parametere (QHttpServerRouter) og REST API.
- En eksperimentell modul for Qt Quick 3D Physics er lagt til, som tilbyr et API for simulering av fysiske prosesser, som kan brukes sammen med Qt Quick 3D for realistisk interaksjon og bevegelse av objekter i 3D-scener. Implementeringen er basert på PhysX-motoren.
- Den eksperimentelle støtten for global belysning er lagt til i Qt Quick 3D ved hjelp av lysmapper, som tillater en mer realistisk imitasjon av lys fra forskjellige kilder i 3D-scenen. Qt Quick 3D støtter også lineære partikler, glansfulle materialer, avanserte refleksjonsinnstillinger, skybokser og egendefinerte materialer og teksturer.

- Funksjonaliteten til TableView- og TreeView-typene som tilbys i Qt Quick er utvidet, med støtte for navigasjon ved hjelp av tastatur, valg av rader og kolonner, mer omfattende kontroll over cellenes posisjon, animasjon, samt sammenfolding og utfoldning av trestrukturer.
- En ny type FrameAnimation er foreslått i Qt Quick, som lar deg kjøre kode synkront med animasjonsrammene. For å forbedre jevnheten i animasjonen, er det også lagt til automatisk behandling av feil synkronisering av vsync ved flertrådet tegning.

- I QQuickWidget, som tillater oppretting av grensesnitt som kombinerer elementer basert på Qt Quick og Qt Widget, er full støtte for RHI (Rendering Hardware Interface) implementert, noe som gir mulighet for drift ikke bare med OpenGL, men også på toppen av APIene Vulkan, Metal og Direct 3D.
- Klassen QSslServer, som muliggjør oppretting av effektive nettverksløsninger, er lagt til i Qt Network-modulen. servere, som bruker TLS for å etablere en sikker kommunikasjonskanal.
- En eksperimentell backend som bruker FFmpeg-pakken for behandling av video og lyd er lagt til i Qt Multimedia-modulen. Under videoavspilling er behandling av fargesystemer og HDR forbedret, og det er lagt til mulighet for å legge inn undertekster via QVideoFrames. Det er lagt til støtte for romlig lyd, som gjør det mulig å lage scener med tredimensjonal lydfordeling og simulere virtuelle rom med lydrefleksjonskarakteristikker basert på lytterens posisjon, romstørrelsen og materialene i vegger og gulv.
- I Qt Widgets-modulen er klassen QFormLayout udvidet med værktøjer til at opbygge grænseflader til indsamling af struktureret brugerinput. I klassen QWizard, der er designet til at skabe multi-trins grænseflader, er der tilføjet API'er tilstyring af synligheden af linjer i formularer og navigering til enhver side i guiden.
- I QML er understøttelsen af værdityper forbedret, hvilket letter overførslen af strukturerede data fra C++ til QML. Sådanne typer og lister af disse typer kan nu bruges i egenskaber uden indpakning i en QObject. LSP-serverens muligheder er udvidet for at integrere understøttelse af QML-sprog i integrerede udviklingsmiljøer. QML Type Compiler, der gør det muligt at kompilere QML-præsentationen til C++-kode, er nu inkluderet som standard.
- Mulighederne for at arbejde med strenglitteraler i koden er udvidet - klasserne QStringEncoder og QStringDecoder har fået støtte til alle kodninger tilgængelige i ICU (International Components for Unicode).
- I klassen QTextDocuments er der tilføjet støtte til Markdown-format.
Kilde: opennet.ru




