Qt Company on avaldanud Qt 6.4 raamistiku versiooni, kus jätkub töö Qt 6 haru stabiliseerimise ja funktsionaalsuse suurendamise nimel. Qt 6.4 toetab platvorme 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 ja QNX. Qt komponentide allikas on saadaval LGPLv3 ja GPLv2 litsentside all.
Peamised muudatused Qt 6.4:
- Täielik WebAssembly platvormi toetus võimaldab luua Qt rakendusi, mis töötavad veebibrauseris ja on ülekantavad erinevatele riistvaraplatvormidele. WebAssembly platvormile koostatud rakendused, tänu JIT-kompileerimisele, töötavad lähedaste native koodiga jõudlusega ning saavad kasutada Qt Quick, Qt Quick 3D ja Qt visuaalimisvahendeid. Kuna WebAssembly baasil rakendus töötab brauseri isoleeritud keskkonnas, on juurdepääs mõnedele API-dele kohalike ressursside ja operatsioonisüsteemi teenuste kasutamiseks piiratud, kuid pakutakse täiendavaid API-sid brauseriga integreerimiseks.
- Peamoodul, mis tagastati, on Qt TextToSpeech, mis tarniti Qt 5-s, kuid ei kuulunud Qt 6 harusse. Moodul pakub häälesünteesi vahendeid, mida saab kasutada rakenduste ligipääsetavuse parandamiseks puuetega inimeste jaoks või uute taustinformatsiooni edastamise vahendite rakendamiseks kasutajale, näiteks teavituste edastamiseks auto multimeedia süsteemide rakendustes. Linuxis toimub teksti kõneks muutmine Speech Dispatcheri (libspeechd) raamatukogu abil, teistel platvormidel aga operatsioonisüsteemi enda API kaudu.
- Lisatud eksperimentaalne moodul iOS-i stiilide rakendamiseks Qt Quickile. Qt Quick Controls'ile rajatud rakendused saavad automaatselt kasutada seda moodulit, et luua natiivne liides iOS-i platvormil, sarnaselt sellele, kuidas natiivsed liidesed töötavad Windows, macOS ja Androidis.


- Lisatud eksperimentaalne moodul QtHttpServer, mis võimaldab rakendustes integreerida HTTP-serveri funktsionaalsust, toetades HTTP/1.1, TLS/HTTPS, WebSockets, vigade töötlemist, päringute suunamist URL-i parameetrite alusel (QHttpServerRouter) ja REST API-d.
- Lisatud eksperimentaalne moodul Qt Quick 3D Physics, mis pakub API-d füüsikaliste protsesside simulatsiooniks, mida saab kasutada koos Qt Quick 3D-ga objektide realistliku suhtlemise ja liikumise jaoks 3D-stseenides. Teostus põhineb mootori PhysX-l.
- Qt Quick 3D moodulisse on lisatud eksperimentaalne tugi globaalsete valgustuskaartide jaoks, mis võimaldavad 3D-stseenides eri valgusallikate realistlikku simuleerimist. Qt Quick 3D-s on samuti rakendatud lineaarsete osakeste tugi, läikivate materjalide, laiemate peegeldusvalikute, taevabokside ning kohandatud materjalide ja tekstuuride tugi.

- Qt Quicki tabelivaate ja puu vaate tüüpe on laiendatud, tuues kaasa klaviatuuriga navigeerimise, ridade ja veergude valimise, täiendava rakkude positsioonihalduse, animatsiooni, samuti puustruktuuride kokkutõmbamise ja laiendamise võimalused.
- Qt Quickis on tutvustatud uut FrameAnimation tüüpi, mis võimaldab koodi täita koos animatsioonikaadritega. Animatsioonide sujuvuse tõstmiseks on Qt Quickis samuti tagatud automaatne vale vsync'i sünkroniseerimise käitlemine, kui joonistamine toimub mitme lõime vahel.

- QQuickWidgeti vidinas, mis võimaldab luua liideseid, mis kombineerivad Qt Quicki ja Qt Widgeti elemente, on täielikult rakendatud RHI (Rendering Hardware Interface) kiht, mis võimaldab töötada mitte ainult OpenGL-i, vaid ka Vulkan, Metal ja Direct 3D APIdega.
- Qt Networki moodulisse on lisatud QSslServer klass, mis võimaldab luua efektiivseid võrke serveritesse, mis kasutavad TLS-i turvalise kommunikatsioonikanali loomiseks.
- Qt Multimedia moodulisse on lisatud katseversioon, mis kasutab video ja heli töötlemiseks FFmpeg paketis. Video esitamisel on paranenud värviruumide ja HDR töötlemine, lisatud on subtiitrite asendamise võimalus QVideoFrames kaudu. Toetatakse ruumilist heli, mis võimaldab luua stseene, millel on kolmemõõtmeline helijaotus, ja simuleerida virtuaalseid ruume, kus heli peegeldumise omadused sõltuvad kuulaja asukohast, ruumi suurusest ja seinte ja põranda materjalidest.
- Qt Widgets moodulis on QFormLayout klass laienenud funktsioonidega, mis toetavad liideste loomist struktureeritud kasutajasisendi vastuvõtmiseks. QWizard klassis, mis on mõeldud mitmeastmeliste liideste loomiseks, on lisatud API-d vormide ridade nähtavuse haldamiseks ja üleminekuks igale lehele juhendis.
- QML-i on täiustatud väärtustüüpide toetust, mis lihtsustab struktureeritud andmete edastamist C++-st QML-i. Selliseid tüüpe ja nende loendeid saab nüüd kasutada omadustes ilma QObjecti ümberpaiknemiseta. LSP-serveri võimalusi on laiendatud QML-i toetuse integreerimiseks arenduskeskkondadesse. Vaikimisi on sisse lülitatud QML Type Compiler, mis võimaldab QML-esitluse kompileerimist C++-koodiks.
- Täpsemad võimalused stringi literaalide töötlemiseks koodis — klassidesse QStringEncoder ja QStringDecoder on lisatud tugi kõigile ICU (Rahvusvahelised Unicode-komponendid) kodeeringutele.
- Klassis QTextDocuments on lisatud Markdowni süntaksi tugi.
Allikas: opennet.ru




