Qt Company on avaldanud Qt 6.8 raamistikuväljaande, mille raames on jätkatud Qt 6 haru stabiliseerimise ja funktsionaalsuse suurendamisega. Qt 6.8 toob toe platvormidele Windows 10+, macOS 12+, Linux (Ubuntu 22.04/24.04, openSUSE 15.5, SUSE 15 SP5, RHEL 8.8/9.2, Debian 11.6), iOS 16+, Android 9+(API 23+), webOS, WebAssembly, INTEGRITY, VxWorks, FreeRTOS ja QNX. Qt komponentide lähtekoodid tarnitakse LGPLv3 ja GPLv2 litsentside alusel.
Qt 6.8 on saanud LTS-väljaande staatuse, mille jaoks uuendusi koostatakse viie aasta jooksul kommertsilitsentsi omanikest kasutajatele, mis on kaks aastat rohkem kui varasemates LTS-väljaannetes. Mittetulunduslikud kasutajad saavad toetust pool aastat (kuni uue olulise väljaande väljatöötamiseni). Eelmise LTS-haru Qt 6.5 toetamine kestab kuni mai 2026, samas kui eelmise LTS-haru Qt 6.2 toetus on lõpetatud 30. septembril 2024. Qt 5.15 haru toetust jätkatakse kuni mai 2025.
Peamised muudatused Qt 6.8:
- Stabiliseeritud ja muudetud täielikult toetatud mooduliks Qt Graphs, millel on eesmärk luua erinevaid 2D- ja 3D-graafikuid ning visualiseerida suuri kiiresti muutuvaid andmekogumeid. Moodul areneb universaalseks asenduseks vanale moodulile Qt DataVisualization, mis oli seotud OpenGL-iga, ja moodulile Qt Charts. Uus moodul kasutab Qt Quick 3D ja RHI (Rendering Hardware Interface) renderdamismootorit, toetades erinevaid 3D API-sid (OpenGL, Vulkan, Metal ja Direct 3D).
Võrreldes eelmise versiooniga on Qt Graphs 3D-s lisatud jõudluse optimeerimisi, tagatud on läbipaistvuse tugi kolmemõõtmeliste graafikute (Bars3D) jaoks, laiendatud on võimalusi siltide ja pealkirjade asukoha ja stiili juhtimiseks, ning parendatud on navigeerimisvõrgu joontesinemist. Qt Graphs 2D-s on lisatud võimalus joonistada oma baaride diagramme (QML-komponentide kaudu), tagatud on tugi virnastatud baaride diagrammidele, ja laiendatud on siltide kuvamise vahendeid. 2D- ja 3D-graafikute kujundusteemade rakendamiseks on ühtne API. Widget-specific kutsungid on viidud moodulisse Qt Graphs Widgets.
- Stabiliseeritud ja muudetud täielikult toetatuks QtHttpServer moodul, mis võimaldab rakendustes HTTP-serveri funktsionaalsuse integreerimist, toetades HTTP/1.1, TLS/HTTPS, WebSocket'e, vigu töötlemist, URL-i parameetrite põhjal nõudmiste marsruutimist (QHttpServerRouter) ja REST API-d. Võrreldes eelmise versiooniga on QNetworkAccessManager klassis rakendatud võimalus saata HTTP-päringuid kohaliku soketi kaudu. On lisatud tugi QFormDataBuilder klassi kasutamiseks, et lihtsustada mitme andmekogumi (nt tekstilise teadete ja manustatud faili) edastamist ühes HTTP-päringus (HTTP multi-part).
- Stabiliseeritud ja muudetud täielikult toetatuks Qt GRPC moodul, mis võimaldab teenustele juurdepääsu gRPC protokolli abil.
- Stabiliseeritud ja muudetud täielikult toetatuks Qt Protobuf moodul, mis on mõeldud Qt-klassi serialiseerimiseks kasutades Protocol Buffer protokolli.
- Lisatud tugi mobiilplatvormidele Android 14 ja iOS 18.
- Pakutud võimalus arendada rakendusi lauaarvutite Linuxi ja Windowsi süsteemides ARM-protsessorite jaoks, samuti 3D-prillide Apple Vision Pro ja Meta Quest 3 XR jaoks.
- Toetatud on Raspberry Pi 5, NVIDIA AGX Orin ja mõned NXP, Toradex ja STM-põhised SoC-plaadid. Lisatud on toetus RISC-V plaatide jaoks, sealhulgas StarFive VisionFive 2.
- Tähtsustunud on võimalused Qt kärbitud kogude loomisel, mida saab kasutada väikese mälumahtuga seadmetes. Näiteks, keelates kasutamata funktsioonid ja Qt-komponendid, on võimalik saavutada koguse suuruse vähenemine püsivates mälus kuni 77% ja vähendada RAM-i tarbimist 32% ning oluliselt lühendada käivitusaega.
- Qt Multimedia moodulis Linuxi platvormil on ellu viidud ekraanipildi salvestamise tugi, kasutades klassi QScreenCapture Waylandi põhistes keskkondades, rakendades teenust ScreenCast ja XDG Desktopi portaalisüsteemi. Lisatud on klassid QVideoFrameInput, QAbstractVideoBuffer ja QAudioBufferInput, mille abil saab korraldada oma multimeediaandmete saatmist salvestusseanssi (QMediaCaptureSession), samuti klass QAudioBufferOutput, et ühendada dekodeerimise järgsetes etappides helide andmeid töötlevad töötlusatjad.
- Lisatud on Qt Quick Vector Image moodul, mis võimaldab integreerida Qt Quick stseenidesse vektorgraafika formaadis SVG, mida saab kasutada näiteks skaaleeritavate kasutajaliidese elementide loomiseks, mis ei sõltu ekraani eraldusvõimest ja suurusest.

- Lisatud on Qt Quick 3D XR moodul, et luua rakendusi virtuaalsete ja liitreaalsuse platvormide jaoks, kasutades Qt Quick 3D tehnoloogiaid. Kolmemõõtmeliste keskkondadega interaktsiooni korral, mis on loodud Qt Quick 3D abil, toetatakse käeliikumise ja VR-kontrollerite jälgimise seadmeid. Visualiseerimiseks võivad olla kasutusel Apple VisionPro prillid või OpenXR-i standardi toetavad 3D-kiivrid, nagu Meta Quest 2/3.

- Qt Quick-s on lisatud optimeerimisi, mis kiirendavad keerukate stseenide joonistamist. TableView klassis on lisandunud võimalus veergude ja ridade liigutamiseks. Tüüpidel Image ja BorderImage on rakendatud piltide asünkroonse laadimise tugi (vana pilt jääb alles, kuni uus laaditakse).
- Qt Quick Effect Makeris lisatud tugi sprite'ide animeerimiseks, elementide moonutamiseks ringikujuliselt ning glow-efektide ja valikuline hägustamine (masked blur) kasutamiseks.
- Qt Quick Shapes moodulis on kontuuride täitmisel lubatud kasutada ShapePath tüüpi elementides mistahes tekstuuri pakkujaid. Klass QQuickRenderTarget on saanud uusi meetodeid tekstuuride töötlemise haldamiseks ja Qt Quick 3D lihtsamaks integreerimiseks välistesse mootoritesse, raamistikesse ja API-desse.
- Qt Quick Controls pakub uut stiili Fluent WinUI3, mis võimaldab luua kasutajaliidese, mis näeb välja nagu Windows 11 igasugustel platvormidel. macOS-is on lahendatud platvormi pakutava globaalmenüü kasutamise võimalus liidese loomisel, kasutades Quick MenuBar'i.

- Qt Quick 3D-s on paranenud varjude joonistamine, kasutades kaskaadseid varjude kaarte ja pehmet varjude filtreerimist. Tüüp PrincipledMaterial on saanud uusi omadusi. Lubatud on kasutada oma materjalides samu omadusi, mis on saadaval PrincipledMaterial tüüpi materjalides.

- Qt Network Auth moodulisse on lisatud klass QOAuthUriSchemeReplyHandler, mis loob redirekti käitlejaid teiste URI skeemide jaoks OAuth 2.0 autentimise puhul. Klassile QOAuth2AuthorizationCodeFlow on lisatud toetust OAuth-laiendusele PKCE (Proof Key for Code Exchange).
- Klassi QDnsLookup on lisatud võimalus saata päringuid, kasutades 'DNS over TLS', samuti on rakendatud TLSA (TLS Certificate Association) DNS-kirjete tuge ja on tagatud kliendile teavitamine DNS-serveri andmete valideerimise läbiviimisest.
- Qt Core'i on lisatud klass QChronoTimer, mis on pakendatud std::chrono raamatukogusse, võimaldades saavutada suuremat täpsust ajategevustes. On võimalik muuta QString, QByteArray ja QList suurust ilma andmete initsialiseerimiseta. QHash on lisatud toeks andmete salvestamiseks ühe häsina, mille tüübid on QString ja QStringView. QDirListingus on loodud API, mis põhineb iteratooril kaustade sisu läbimiseks.
- Qt GUI-s on võimalus ületada süsteemi värviskeemi seadeid, näiteks tumeda või heleda režiimi valimiseks, samuti tegevuste seadeid, mis viivad kontekstimenüü kuvamiseni.
- Qt SQL and MySQL/MariaDB and PostgreSQL drivers now correctly handle time and dates when the client and server are set to different time zones. serveril on valitud erinevad ajavööndid.
- New classes have been added to Qt WebEngine: QWebEngineFrame for operating at the level of individual iframe blocks; QWebEngineClientHints for managing browser identification; QWebEnginePermission for managing access rights tied to websites.
- Qt Widgets have improved widget rendering on high pixel density (high-DPI) screens.
- The QDoc documentation generator has been migrated from C API to C++ API, now requiring at least Clang 17 to function. New commands such as ‘\keyword’ and ‘\nativetype’ have been added.
- As part of the efforts to enhance stability and performance in the LTS release, more than 500 fixes and optimizations have been implemented.
Allikas: opennet.ru




