Qt Company har slÀppt en version av ramverket Qt 6.6, dÀr arbetet fortsÀtter med stabilisering och utökning av funktionaliteten i Qt 6-grenen. I Qt 6.6 stöds plattformar som 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 och QNX. KÀllkoden för Qt-komponenterna levereras under licenserna LGPLv3 och GPLv2.
HuvudÀndringar i Qt 6.6:
- I Qt Quick har experimentellt stöd för adaptiv layout av grÀnssnitt implementerats. För att dynamiskt Àndra layouten baserat pÄ fönsterstorlek och automatiskt placera element med hÀnsyn till den aktuella layoutens struktur har klassen LayoutItemProxy föreslagits och i Qt Quick Layouts har möjligheten att anvÀnda enhetliga cellstorlekar för layouter med gitterplacering, rader och kolumner tillhandahÄllits.

- I Qt Quick har stöd för urvalsmodi (egenskapen selectionMode) lagts till i QML-typen TableView (till exempel kan man hantera val av celler, rader, kolumner och uppsÀttningar av celler), möjligheten att Àndra egenskapen rootIndex har tillhandahÄllits, i QML-typen TreeView har hanteringen av scrollbarernas utseende (scroll-deceleration) utökats i QML-typen Flickable, och automatisk förkortning av filvÀgar har implementerats. à tkomst frÄn QML till API för behörighetskontroll har ocksÄ tillhandahÄllits.
- En experimentell modul, Qt Graphs, har lagts till, som syftar till att tillhandahÄlla en universell modul för visualisering av stora samlingar av snabbt förÀnderliga data och konstruktion av olika typer av diagram. Modulen utvecklas som en universell ersÀttning för den gamla modulen Qt DataVisualization, som var baserad pÄ OpenGL, och modulen Qt Charts. Modulen Àr fortfarande under utveckling och fokuserar för nÀrvarande pÄ att Äterskapa funktionaliteten i Qt DataVisualization ovanpÄ Qt Quick 3D och anvÀnda den nya renderingsmotorn (RHI, Rendering Hardware Interface), som stöder olika 3D API:er (OpenGL, Vulkan, Metal och Direct 3D).

- I Qt Multimedia-modulen har klassen QWindowCapture lagts till för att fÄnga innehÄllet i enskilda fönster, vilket kompletterar klassen QScreenCapture som introducerades i den senaste versionen, som var begrÀnsad till att fÄnga hela skÀrmen. QWindowCapture gör det möjligt att fÄ en lista över fönster som Àr tillgÀngliga för fÄngst och kan anvÀndas i applikationer för att möjliggöra delning av fönster. FÄngst av fönster och skÀrm stöds med hjÀlp av FFmpeg-backend pÄ alla plattformar utom de som anvÀnder Wayland-protokollet.
- Till klassen QMediaRecorder har egenskaper lagts till för att styra videokvalitet, upplösning och bitrate.
- Funktionerna i Qt GRPC och Qt Protobuf-modulerna har utökats, vilket möjliggör tillgÄng till gRPC-tjÀnster och serialisering av Qt-klasser med hjÀlp av Protocol Buffer-protokollet. I Qt GRPC har nya alternativ som QGrpcChannelOptions och QGrpcCallOptions lagts till för att förenkla konfigurationen av kanaler och anrop, samt för att begrÀnsa den maximala körtiden för anropet eller trÄden. En möjlighet för QGrpcMetadata har ocksÄ lagts till för att stÀlla in metadata av klienten och lÀsa metadata som returneras. servern. I Qt GRPC har stöd för QML-typ integrerats för automatisk generering av klientklasser för QtGRPC. I Qt Protobuf har det blivit möjligt att inkludera vissa typer av Qt Core och Qt GUI i *.proto-schemat, samt ge möjlighet till tillgÄng till QML-sammanhang via klasserna QProtobufMessage. Stöd för typerna google.protobuf.Any och oneof har lagts till.
- I Qt WebEngine-modulen har ett API lagts till för att fÄ tillgÄng till instÀllningar för sekretess och sÀkerhet, vilket gör det möjligt att inaktivera specifika funktioner i webblÀsarens motor. Till exempel kan API Fetch och rendering av Canvas-element inaktiveras för att minska risken för passiv identifiering genom att anvÀnda egenskaperna QWebEngineUrlScheme::FetchApiAllowed och QWebEngineSettings::DisableReadingFromCanvas. Stöd för den interna URL:en "chrome://qt" har lagts till, som visar en sida med information om den anvÀnda versionen av Chromium-motorn nÀr den öppnas.
- I Qt SQL-modulen har en plugin lagts till med stöd för databashanteraren Mimer SQL; anslutningsinstÀllningarna har utökats i drivrutinen för databaserna MySQL och MariaDB.
- I Qt PDF-modulen har klasser lagts till för att fÄ tillgÄng till lÀnkar, miniatyrbilder av sidor och valda sidor.
- I Qt Quick har typ Font implementerats ett nytt API för utökad anpassning av glyfkomposition (shaping) i OpenType-teckensnitt. Möjligheten att anvÀnda modulen Qt Quick Shapes för högkvalitativ rendering av linjer och kurvor med fragmentshader har tillhandahÄllits.

- Arbete har gjorts med att dokumentera renderingmotorn RHI (Rendering Hardware Interface) samt att stabilisera det relaterade lÄgnivÄ-API:et. NivÄn för att upprÀtthÄlla bakÄtkompatibilitet för RHI kommer nu att motsvara API:et Qt Platform Abstraction, vilket gör att RHI kan anvÀndas direkt för att utveckla plattformsoberoende lÄgnivÄkod som fungerar med alla populÀra grafiska stackar och grafik-API (OpenGL, Vulkan, Metal och Direct 3D).
- I modulen Qt Quick 3D har stöd för procedurmÀssig skapande av texturer och geometri baserat pÄ polygonnÀt via QML lagts till.
- I modulen Qt TextToSpeech har möjligheten att generera PCM (Pulse-Code Modulation) data för vidare bearbetning av syntetiskt tal lagts till (tidigare stöddes endast direktutgÄng till ljudenhet). Ytterligare instÀllningar för textsegmentering har tillhandahÄllits, liksom ett API för att söka efter nödvÀndiga röster och ett API för att bestÀmma tillgÀngliga motorfunktioner.
- Det har lagts till stöd för asynkrona operationer med hjÀlp av asyncio i modulen "Qt for Python", som tillhandahÄller verktyg för att skapa grafiska applikationer pÄ Python med Qt. Qt for Python Àr nu kompatibelt med enheter som har AArch64-arkitektur.
- Boot2Qt-stacken har uppdaterats, vilket kan anvÀndas för att skapa mobila system som kan startas med en miljö baserad pÄ Qt och QML. Systemmiljön i Boot2Qt har uppdaterats till plattformen Yocto 4.2 (Mickledore). Arbete pÄgÄr för att tillhandahÄlla fÀrdiga byggversioner av Boot2Qt för NXP-plattformar och Renesas R-Car-enheter.
- Stöd för Android 13 har lagts till. PÄ Windows- och Linux-plattformar har stödet för ARM-arkitekturen förbÀttrats. Tillsammans med medarbetarna frÄn Debian-projektet har paket med Qt 6 för Debian 11 och Debian 12 placerats i de officiella distributionslagren, och i Qt Companys repository finns paket med kommersiella komponenter av Qt 6.6 för Debian.
- Utvecklingsverktygen för WebAssembly-plattformen har förbÀttrats, vilket gör det möjligt att skapa Qt-appar som fungerar i webblÀsaren och kan överföras mellan olika hÄrdvaruplattformar. Appar som byggs för WebAssembly-plattformen körs tack vare JIT-kompileringsmetoden med nÀstan nativen prestanda och kan anvÀnda Qt Quick, Qt Quick 3D och de visualiseringsverktyg som finns tillgÀngliga i Qt. I den nya versionen har avlusningen av appar för WebAssembly förenklats och underhÄllet av denna plattform har förbÀttrats tack vare stöd för dynamisk lÀnkning (nu kan appar för WebAssembly levereras med delade bibliotek och Qt-plugin).
KĂ€lla: opennet.ru



