A Qt Company közzétette a Qt 6.4 keretrendszer kiadását, amelyben folytatódott a Qt 6 stabilizálása és funkcionalitásának bővítése. A Qt 6.4 támogatja a 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 és QNX platformokat. A Qt összetevőinek forráskódja LGPLv3 és GPLv2 licenc alatt kerül forgalmazásra.
Főbb változások a Qt 6.4-ben:
- Teljes körű támogatást kapott a WebAssembly platform, amely lehetővé teszi a Qt alkalmazások webböngészőben való futtatását és különböző hardverplatformok közötti átjárhatóságát. A WebAssembly platformra összeállított alkalmazások közel natív teljesítménnyel futnak JIT fordítással, használhatják a Qt Quick, Qt Quick 3D és a Qt által biztosított vizualizáló eszközöket. Mivel a WebAssembly alapú alkalmazás egy elkülönített böngészői környezetben fut, a helyi forrásokkal és operációs rendszerek szolgáltatásaival való hozzáférés néhány API-ra korlátozott, de további API-k állnak rendelkezésre a böngésző integrálására.
- A Qt TextToSpeech modul visszakerült a fő összetevőkhöz, amely a Qt 5-ben volt elérhető, de nem került be a Qt 6-ba. A modul hangszintézist biztosít, amely alkalmazható az alkalmazások hozzáférhetőségének javítására mozgáskorlátozott emberek számára, vagy új háttérinformáló eszközök megvalósítására, például értesítések megjelenítésére autós információs és szórakoztató rendszerek alkalmazásaiban. Linuxon a szöveg beszéddé való átalakítása a Speech Dispatcher (libspeechd) könyvtár segítségével történik, míg más platformok esetében a rendszerek beépített API-ján keresztül.
- Hozzáadva egy kísérleti modul, amely az iOS stílusos megjelenítésének megvalósítását biztosít a Qt Quick számára. A Qt Quick Controls-ra épülő alkalmazások automatikusan használhatják ezt a modult az iOS platformon a natív felhasználói felület létrehozására, hasonlóan ahhoz, ahogyan a natív megjelenítést Windows, macOS és Android rendszereken alkalmazzák.


- Hozzáadva egy kísérleti QtHttpServer modul, amely lehetővé teszi a HTTP-szerver funkcionalitás integrálását az alkalmazásokba, támogatva az HTTP/1.1, TLS/HTTPS, WebSockets, hibakezelés, az URL-ben található paraméterek alapján történő kérésirányítást (QHttpServerRouter) és a REST API-t.
- Hozzáadták a kísérleti Qt Quick 3D Physics modult, amely API-t biztosít a fizikai folyamatok szimulálásához, és amelyet a Qt Quick 3D-val együtt lehet használni a 3D-s jelenetekben a tárgyak valósághű interakciójának és mozgásának megvalósítására. A megvalósítás a PhysX motorra épül.
- A Qt Quick 3D modulba kísérleti globális világítás támogatás került, amely fényképeket használva lehetővé teszi a különböző fényforrások fényének valósághű utánzását a 3D-s jelenetekben. A Qt Quick 3D-ben megvalósították a lineáris részecskéket, fényes anyagokat, kiterjesztett fényvisszaverési beállításokat, égboltokat, valamint egyedi anyagokat és textúrákat.

- Bővítették a Qt Quick-ben elérhető TableView és TreeView típusokat, amelyek most már támogatják a billentyűzet navigációt, a sorok és oszlopok kiemelését, a cellák elhelyezkedésének, az animációnak és a fa struktúrák összehúzásának és kinyitásának teljesebb kezelését.
- A Qt Quick-ben bemutatásra került egy új FrameAnimation típus, amely lehetővé teszi a kód szinkronizálását az animációs képkockákkal. Az animációk simaságának növelése érdekében a Qt Quick automatikusan kezeli a helytelen v-sync szinkronizációt több szálú rajzolás esetén.

- A QQuickWidget widgetben, amely lehetővé teszi a Qt Quick és Qt Widget alapú elemeket kombináló interfészek létrehozását, teljes körű támogatást valósítottak meg az RHI (Rendering Hardware Interface) réteghez, amely lehetővé teszi a működést nemcsak OpenGL, hanem Vulkan, Metal és Direct 3D API-k fölött is.
- A Qt Network modulban hozzáadták a QSslServer osztályt, amely lehetővé teszi hatékony hálózati szerverekkapcsolatok létrehozását, amelyek TLS-t használnak a biztonságos kommunikációs csatorna létrehozásához.
- A Qt Multimedia modulba egy kísérleti háttér kerül bevezetésre, amely a video- és hangfeldolgozáshoz az FFmpeg csomagot használja. A video lejátszásakor javították a színterek és HDR feldolgozását, lehetővé vált a feliratok behelyettesítése a QVideoFrames-en keresztül. Bevezették a térbeli hang támogatását, amely lehetővé teszi a háromdimenziós hangeloszlású jelenetek létrehozását, és virtuális szobák szimulációját a hangvisszaverődés jellemzőivel összhangban a hallgató elhelyezkedésétől, a helyiség méretétől és a falak, valamint a padló anyagaitól függően.
- A Qt Widgets modulban a QFormLayout osztály fel van javítva a strukturált felhasználói bemenet rögzítésére alkalmas interfészek építéséhez. A QWizard osztályban, amely a lépésről lépésre haladó interfészek elkészítésére szolgál, API-k kerültek hozzáadásra a sorok láthatóságának kezelésére a űrlapokban és az átmenetre bármelyik oldalra a varázslóban.
- A QML-ben javult az értéktípusok támogatása, megkönnyítve a strukturált adatok C++-ból QML-be történő továbbítását. Az ilyen típusok és az ezekből készült listák most már közvetlenül használhatók a properties-ben, QObject alapú csomagolás nélkül. A LSP-szerver képességei kibővültek, lehetővé téve a QML nyelv támogatásának integrálását a fejlesztői környezetekbe. Alapértelmezés szerint aktiválva van a QML Type Compiler, amely lehetővé teszi a QML megjelenítése C++-ra történő lefordítását.
- Bővültek a szöveges literálokkal való munkavégzés lehetőségei a kódban — a QStringEncoder és QStringDecoder osztályok összes, az ICU-ban (Nemzetközi Unicode Összetevők) elérhető kódolás támogatását élvezi.
- A QTextDocuments osztályban a Markdown formázás támogatása került hozzáadásra.
Forrás: opennet.ru




