Qt Company avaldas Qt 6.6 raamisti vabastamise, kus jätkati töö tegemist Qt 6 haru stabiliseerimise ja funktsionaalsuse suurendamise nimel. Qt 6.6 toetab Windows 10+, macOS 11+, Linux (Ubuntu 22.04, openSUSE 15.4, SUSE 15 SP4, RHEL 8.6/9.0), iOS 14+, Android 8+ (API 23+), webOS, WebAssembly, INTEGRITY ja QNX. Qt komponentide algtekstid tarnitakse LGPLv3 ja GPLv2 litsentside alusel.
Olulised muudatused Qt 6.6-s:
- Qt Quick moodulis on rakendatud katsetatav toetus adaptiivsele liidese paigutusele. Liidese paigutuse dünaamiliseks muutmiseks akna suuruse järgi ja elementide automaatseks paigutamiseks praeguse paigutuse struktuuri arvesse võttes on pakutud klass LayoutItemProxy, samuti on Qt Quick Layouts moodulis võimalik kasutada ühetaolisi rakkude suurusi võrgu, ridade ja veergude paigutamiseks.

- Qt Quick-sse on lisatud valimise režiimide toetus (selectionMode omadus) QML tüübis TableView (näiteks saab hallata rakkude, ridade, veergude ja rakkude kogumite valimist), võimaldatud on muuta rootIndex omadust, QML tüübis TreeView on laiendatud kerimisribade (scroll-deceleration) vormindamise juhtimist QML tüübis Flickable, rakendatud on automaatne failiteede vähendamine. QML-st on saadaval ligipääs õiguste haldamise API-le.
- Lisatud katsetav Qt Graphs moodul, mille eesmärk on pakkuda universaalset moodulit suurte kiiresti muutuvate andmete kogumite visualiseerimiseks ja erinevate graafikutüüpide koostamiseks. Moodul areneb universaalse asendajana vanale OpenGL-põhisele Qt DataVisualization moodulile ja Qt Charts moodulile. Moodul on endiselt arenduses ja praegu keskendub Qt DataVisualization funktsionaalsuse taastamisele Qt Quick 3D peal ning uue renderdamise mootori (RHI, Rendering Hardware Interface) kasutamisele, mis toetab erinevaid 3D API-sid (OpenGL, Vulkan, Metal ja Direct 3D).

- Qt Multimeedia moodulisse on lisatud QWindowCapture klass, mis võimaldab eri akende sisu salvestamist, täiustades eelmisel väljaandel tekkinud QScreenCapture klassi, mis on piiratud ekraani salvestamise võimalusega. QWindowCapture võimaldab saada nimekirja akendest, mis on salvestamiseks saadaval, ning seda saab kasutada rakendustes akende jagamise võimaldamiseks. Akende ja ekraani salvestamine on toetatud FFmpeg taustal kõikidel platvormidel, välja arvatud Waylandi protokolli kasutavatel süsteemidel.
- QMediaRecorder klassile on lisatud omadused videokvaliteedi, lahutuse ja bitikiirusenõuete haldamiseks.
- Qt GRPC ja Qt Protobuf moodulite võimalusi on laiendatud, võimaldades pääseda gRPC teenustele ja teostada Qt klasside serialiseerimist kasutades Protocol Buffer protokolli. Qt GRPC-le on lisatud uued valikud QGrpcChannelOptions ja QGrpcCallOptions, et lihtsustada kanalite ja väljakutsete seadistamist ning piirata väljakutse või vooluhalduse maksimaalset täitmise aega. Lisatud on valik QGrpcMetadata, et seada kliendi metadataid ja lugeda tagastatud metadataid. serveriltQt GRPC-s on integreeritud QML-tüübi tugi, et automaatselt genereerida klientide QtGRPC klasse. Qt Protobuf-s on võimaldatud teatud Qt Core ja Qt GUI tüübi lisamine *.proto skeemi ning antud on võimalus pääseda QML-kontekstidele läbi QProtobufMessage klasside. On lisatud toetus google.protobuf.Any ja oneof tüüpidele.
- Qt WebEngine moodulisse on lisatud API privaatsuse ja turvalisuse seadete juurde pääsemiseks, mis võimaldab välja lülitada teatud brauseri mootori võimalusi. Näiteks QWebEngineUrlScheme::FetchApiAllowed ja QWebEngineSettings::DisableReadingFromCanvas atribuutide abil on võimalik välja lülitada Fetch API ja Canvas elementide joonistamine, et vähendada passiivse identsuse riski. On lisatud toetust sisemisele URL-ile 'chrome://qt', mille avamisel kuvatakse leht, mis sisaldab teavet Chromium mootori kasutatava versiooni kohta.
- Qt SQL moodulisse on lisatud plugin Mimer SQL andmebaasi toe jaoks ning laiendatud on MySQL ja MariaDB andmebaasi draiveri ühenduse seadistusi.
- Qt PDF moodulis on antud klassid, et pääseda juurde linkidele, lehekülgede miniatüüridele ja valitud lehekülgedele.
- Qt Quickis implemented a new API in the Font type for advanced glyph layout (shaping) customization in OpenType fonts. The Qt Quick Shapes module now enables high-quality rendering of lines and curves using fragment shaders.

- Documentation has been created for the RHI (Rendering Hardware Interface) rendering engine, as well as stabilization of the associated low-level API. The level of backward compatibility for RHI will now match the Qt Platform Abstraction API, allowing RHI to be used directly for developing cross-platform low-level code that works with all popular graphics stacks and graphics APIs (OpenGL, Vulkan, Metal, and Direct 3D).
- Support for procedural creation of textures and geometry based on polygonal meshes from QML has been added to the Qt Quick 3D module.
- The Qt TextToSpeech module now supports generating PCM (Pulse-Code Modulation) data for further processing of synthesized speech (previously, only direct output to audio devices was supported). Additional text segmentation settings have been provided, along with an API for finding necessary voices and an API for determining available engine features.
- The Qt for Python module, which provides tools for creating graphical applications in Python using Qt, has added support for asynchronous operations with asyncio. Qt for Python is now compatible with devices based on the AArch64 architecture.
- The Boot2Qt stack has been updated, which can be used to create bootable mobile systems with a Qt and QML-based environment. The system environment in Boot2Qt has been updated to the Yocto 4.2 (Mickledore) platform. Work is underway to provide ready-made Boot2Qt builds for NXP boards and Renesas R-Car devices.
- Support for Android 13 has been added. On Windows and Linux platforms, support for ARM architecture has been improved. Together with the Debian project maintainers, packages with Qt 6 for Debian 11 and Debian 12 have been placed in the distribution's official repositories, while the Qt Company repositories contain packages with commercial components of Qt 6.6 for Debian.
- WebAssembly platvormi arendustööriistad on paranenud, võimaldades luua Qt-rakendusi, mis töötavad veebibrauseris ja on seadmeüleselt ülekantavad. WebAssembly platvormile kogutud rakendused saavutavad JIT-kompileerimise tõttu peaaegu natiivkoodi jõudluse, saavad kasutada Qt Quicki, Qt Quick 3D-d ja Qt visuaaliseerimisvahendeid. Uues versioonis on rakenduste tõrkeotsing WebAssembly jaoks lihtsustunud ja selle platvormi toe parandamiseks on lisatud dünaamilise linkimise tugi (WebAssembly rakendusi saab nüüd tarnida koos Qt jagatud raamatukogude ja pluginatega).
Allikas: opennet.ru



