Společnost Qt vydala framework Qt 6.6, který pokračuje v práci na stabilizaci a rozšíření funkčnosti větve Qt 6. Qt 6.6 poskytuje podporu pro platformy 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 a QNX. Zdrojový kód komponent Qt je licencován pod licencemi LGPLv3 a GPLv2.
Hlavní změny v Qt 6.6:
- Modul Qt Quick poskytuje experimentální podporu pro adaptivní rozložení rozhraní. Pro dynamickou změnu rozvržení rozhraní v závislosti na velikosti okna a automatické umisťování prvků s ohledem na strukturu aktuálního rozvržení je navržena třída LayoutItemProxy a modul Qt Quick Layouts poskytuje možnost používat jednotné velikosti buněk pro rozvržení s uspořádanými prvky. v mřížce, řádcích a sloupcích.

- Qt Quick přidal podporu pro výběrové režimy (vlastnost selectionMode) v QML typu TableView (můžete například ovládat výběr buněk, řádků, sloupců a sad buněk), byla poskytnuta možnost měnit vlastnost rootIndex, a v typu QML TreeView rozšířena kontrola nad designem posuvníků (scroll) -decelerace) u typu Flickable QML je implementováno automatické zkracování cest k souborům. Poskytnutý přístup z QML k rozhraní API pro správu oprávnění.
- Byl přidán experimentální modul Qt Graphs, jehož cílem je poskytnout modul pro všeobecné použití pro vizualizaci velkých sbírek rychle se měnících dat a generování různých typů grafů. Modul je vyvíjen jako univerzální náhrada za starý modul Qt DataVisualization, založený na OpenGL, a modul Qt Charts. Modul je stále ve vývoji a v současné době se zaměřuje na reprodukci funkčnosti Qt DataVisualization nad Qt Quick 3D a použití nového renderovacího enginu (RHI, Rendering Hardware Interface), který podporuje různá 3D API (OpenGL, Vulkan, Metal a Direct 3D) .

- Modul Qt Multimedia přidal třídu QWindowCapture pro zachycení obsahu jednotlivých oken, která doplňuje třídu QScreenCapture představenou v posledním vydání, která je omezena na zachycení celé obrazovky. QWindowCapture poskytuje seznam oken dostupných pro zachycení a lze jej použít v aplikacích ke sdílení oken. Snímání oken a obrazovky je podporováno pomocí backendu FFmpeg na všech platformách kromě systémů využívajících protokol Wayland.
- Do třídy QMediaRecorder byly přidány vlastnosti pro ovládání kvality videa, rozlišení a datového toku.
- Moduly Qt GRPC a Qt Protobuf byly rozšířeny o přístup ke službám gRPC a serializaci tříd Qt pomocí protokolu Protocol Buffer. Do Qt GRPC byly přidány nové možnosti QGrpcChannelOptions a QGrpcCallOptions pro zjednodušení konfigurace kanálů a volání a také pro omezení maximální doby provádění volání nebo vlákna. Byla přidána možnost QGrpcMetadata pro nastavení metadat klientem a čtení metadat vrácených klientem. serverQt GRPC nyní integruje podporu typů QML pro automatické generování klientských tříd QtGRPC. Qt Protobuf nyní umožňuje zahrnutí některých typů Qt Core a Qt GUI do schématu *.proto a poskytuje přístup ke kontextům QML prostřednictvím tříd QProtobufMessage. Byla přidána podpora pro typy google.protobuf.Any a oneof.
- Do modulu Qt WebEngine bylo přidáno API pro přístup k nastavení soukromí a zabezpečení, které umožňuje deaktivovat určité funkce enginu prohlížeče. Například pomocí atributů QWebEngineUrlScheme::FetchApiAllowed a QWebEngineSettings::DisableReadingFromCanvas můžete zakázat rozhraní Fetch API a vykreslování prvků Canvas, abyste snížili riziko pasivní identifikace. Přidána podpora pro interní URL „chrome://qt“, která po otevření zobrazí stránku s informacemi o verzi použitého enginu Chromium.
- Do modulu Qt Sql byl přidán plugin s podporou Mimer SQL DBMS a bylo rozšířeno nastavení připojení v ovladači pro MySQL a MariaDB DBMS.
- Modul Qt PDF poskytuje třídy pro přístup k odkazům, miniaturám stránek a vybraným stránkám.
- V Qt Quick typ Font implementuje nové API pro pokročilou konfiguraci rozvržení (tvarování) glyfů v písmech OpenType. Pro kvalitní kreslení čar a křivek pomocí fragment shaderu je možné využít modul Qt Quick Shapes.

- Byla odvedena práce na dokumentaci vykreslovacího jádra RHI (Rendering Hardware Interface) a také na stabilizaci nízkoúrovňového API, které je s ním spojeno. Úroveň zpětné kompatibility pro RHI bude nyní následovat Qt Platform Abstraction API, což umožní RHI přímo použít pro vývoj meziplatformního nízkoúrovňového kódu, který funguje se všemi oblíbenými grafickými zásobníky a grafickými API (OpenGL, Vulkan, Metal a Direct 3D). .
- Do modulu Qt Quick 3D byla přidána podpora pro procedurální tvorbu textur a geometrie na základě polygonální sítě z QML.
- Modul Qt TextToSpeech má nyní schopnost generovat PCM (Pulse-Code Modulation) data pro další zpracování syntetizované řeči (dříve byl podporován pouze přímý výstup na audio zařízení). Byla poskytnuta další nastavení pro segmentaci textu, bylo přidáno API pro vyhledávání požadovaných hlasů a bylo přidáno API pro určení dostupných funkcí motoru.
- Sada modulů Qt for Python, která poskytuje nástroje pro vytváření grafických aplikací v Pythonu pomocí Qt, přidala podporu pro asynchronní operace pomocí asyncio. Qt pro Python je nyní kompatibilní se zařízeními založenými na architektuře AArch64.
- Byl aktualizován zásobník Boot2Qt, který lze použít k vytváření zaváděcích mobilních systémů s prostředím založeným na Qt a QML. Systémové prostředí v Boot2Qt bylo aktualizováno na platformu Yocto 4.2 (Mickledore). Probíhají práce na poskytnutí hotových sestav Boot2Qt pro desky NXP a zařízení Renesas R-Car.
- Přidána podpora platformy Android 13. Na nástupištích Windows и Linux Vylepšená podpora architektury ARM. Ve spolupráci se správci projektu Debian Standardní repozitáře distribuce obsahují balíčky s Qt 6 pro Debian 11 a Debian 12 a v repozitářích společnosti Qt Company jsou k dispozici balíčky s komerčními komponentami Qt 6.6 pro Debian.
- Vývojové nástroje pro platformu WebAssembly byly vylepšeny a umožňují vytvářet Qt aplikace, které běží ve webovém prohlížeči a jsou přenosné mezi různými hardwarovými platformami. Aplikace vytvořené pro platformu WebAssembly díky kompilaci JIT běží s výkonem blízkým nativnímu kódu a mohou používat Qt Quick, Qt Quick 3D a vizualizační nástroje dostupné v Qt. Nová verze zjednodušuje ladění aplikací WebAssembly a zlepšuje údržbu této platformy díky podpoře dynamického propojování (aplikace WebAssembly lze nyní dodávat se sdílenými Qt knihovnami a pluginy).
Zdroj: opennet.ru



