Qt Company har slÀppt version 6.8 av ramverket Qt, dÀr arbetet med att stabilisera och utöka funktionaliteten i Qt 6-familjen fortsÀtter. Qt 6.8 erbjuder stöd för 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 och QNX. KÀllkoden för Qt-komponenterna levereras under LGPLv3- och GPLv2-licenser.
Qt 6.8 har status som LTS-release, vilket innebÀr att uppdateringar kommer att ges under fem Är för innehavare av kommersiella licenser, vilket Àr tvÄ Är lÀngre Àn tidigare LTS-versioner. För icke-kommersiella anvÀndare Àr supporttiden sex mÄnader (fram till nÀsta stora release). Stödet för den tidigare LTS-versionen Qt 6.5 kommer att pÄgÄ till maj 2026, medan stödet för den Àldre LTS-versionen Qt 6.2 avslutas den 30 september 2024. Qt 5.15 kommer att stödjas fram till maj 2025.
De viktigaste förÀndringarna i Qt 6.8:
- Modulen Qt Graphs har stabiliserats och Àr nu helt stödd. Den Àr avsedd för att skapa olika typer av 2D- och 3D-diagram samt för att visualisera stora samlingar av snabbt förÀnderliga data. Modulen utvecklas som ett universellt alternativ till den gamla Qt DataVisualization-modulen som var knuten till OpenGL, samt Qt Charts-modulen. Den nya modulen anvÀnder Qt Quick 3D och renderingsmotorn RHI (Rendering Hardware Interface), som stödjer olika 3D API:er (OpenGL, Vulkan, Metal och Direct 3D).
JÀmfört med föregÄende release har Qt Graphs 3D fÄtt prestandaförbÀttringar, stöd för transparens i tredimensionella diagram (Bars3D), utökade möjligheter för hantering av plats och layout av etiketter och rubriker, samt förbÀttrad rendering av navigationsnÀtlinjer. I Qt Graphs 2D finns nu möjligheten att rita egna typer av stapeldiagram (via QML-komponenter), stöd för staplade stapeldiagram, och utökade verktyg för att visa etiketter. API:et har enhetligats för att anvÀnda teman i 2D- och 3D-diagram. Widgets-specifika anrop har flyttats till Qt Graphs Widgets-modulen.
- Stabiliserad och flyttad till kategorin fullstÀndigt stödda moduler, QtHttpServer, som möjliggör integration av HTTP-serverfunktionalitet i applikationer, inklusive stöd för HTTP/1.1, TLS/HTTPS, WebSockets, felhantering, förfrÄgningsrouting baserat pÄ URL-parametrar (QHttpServerRouter) och REST API. JÀmfört med den tidigare versionen har klassen QNetworkAccessManager fÄtt möjlighet att skicka HTTP-förfrÄgningar genom en lokal socket. Stöd för att anvÀnda klassen QFormDataBuilder har ocksÄ tillhandahÄllits för att förenkla överföringen av flera datamÀngder (t.ex. textdata och bifogade filer) i en och samma HTTP-förfrÄgan (HTTP multi-part).
- Stabiliserad och flyttad till kategorin fullstÀndigt stödda moduler, Qt GRPC, som möjliggör Ätkomst till tjÀnster med hjÀlp av gRPC-protokollet.
- Stabiliserad och flyttad till kategorin fullstÀndigt stödda moduler, Qt Protobuf, avsedd för serialisering av Qt-klasser med hjÀlp av Protocol Buffer-protokollet.
- Stöd för mobilplattformar Android 14 och iOS 18 har lagts till.
- Möjligheten att utveckla applikationer för skrivbordssystem Linux och Windows med ARM-processorer samt 3D-headseten Apple Vision Pro och Meta Quest 3 XR har tillhandahÄllits.
- Stöd för Raspberry Pi 5, NVIDIA AGX Orin och vissa kort baserade pÄ SoC NXP, Toradex och STM har lagts till. Stöd för RISC-V-kort StarFive VisionFive 2 har ocksÄ lagts till.
- Möjligheterna för att skapa nedskÀrda Qt-byggnader som kan anvÀndas pÄ enheter med begrÀnsat minne har utökats. Genom att stÀnga av oanvÀnda funktioner och komponenter frÄn Qt kan storleken pÄ byggnaden i konstant minne minskas med 77% och minnesanvÀndningen med 32%, vilket ocksÄ avsevÀrt förkortar uppstarttiden.
- I Qt Multimedia-modulen pÄ Linux-plattformen har stöd för skÀrmupptagning implementerats med hjÀlp av klassen QScreenCapture i miljöer baserade pÄ Wayland-protokollet, med hjÀlp av ScreenCast-tjÀnsten och XDG Desktop-portalsystemet. Klasserna QVideoFrameInput, QAbstractVideoBuffer och QAudioBufferInput har lagts till, vilket möjliggör överföring av egna multimedia-data till inspelningssessionen (QMediaCaptureSession), samt klassen QAudioBufferOutput för att koppla samman handlÀggare som mottar ljuddata efter avkodning.
- Modulen Qt Quick Vector Image har lagts till, vilket möjliggör integration av vektorbilder i SVG-format i Qt Quick-scener. Detta kan till exempel anvÀndas för att skapa skalbara grÀnssnittselement som Àr oberoende av skÀrmupplösning och storlek.

- Modulen Qt Quick 3D XR har lagts till för att skapa applikationer för plattformar för virtuell och förstÀrkt verklighet med hjÀlp av Qt Quick 3D-teknologier. För att möjliggöra interaktion med tredimensionella miljöer skapade med Qt Quick 3D stödjs anvÀndning av handspÄrningsenheter och VR-kontroller. För visualisering kan Apple VisionPro-glasögon eller 3D-headset som stöder OpenXR-standarden, som Meta Quest 2/3, anvÀndas.

- I Qt Quick har optimeringar lagts till som pÄskyndar renderingen av komplexa scener. I TableView-klassen har möjligheten att flytta kolumner och rader lagts till. I Image- och BorderImage-typerna har stöd för asynkron bildinlÀsning implementerats (den gamla bilden förblir synlig medan den nya laddas).
- I modulen Qt Quick Effect Maker har stöd för animering av sprite, krökning av element runt en cirkel, samt anvÀndning i effekter som glöd och maskerat suddighet (masked blur) lagts till.
- I modulen Qt Quick Shapes har det blivit tillÄtet att anvÀnda alla typer av texturleverantörer för att fylla konturer i element av typen ShapePath. I klassen QQuickRenderTarget har nya metoder lagts till för att hantera texturbehandling och förenkla integrationen av Qt Quick 3D med externa motorer, ramverk och API:er.
- I Qt Quick Controls har en ny Fluent WinUI3-stil lagts till för att skapa grÀnssnitt som ser ut som Windows 11 pÄ alla plattformar. I macOS har möjligheten att anvÀnda plattformslevererade globala menyer i grÀnssnitt som skapas med hjÀlp av Quick MenuBar implementerats.

- I Qt Quick 3D har renderingen av skuggor förbÀttrats genom anvÀndning av kaskadskuggbilder och mjuk skuggfilter. I typen PrincipledMaterial har nya egenskaper lagts till. Att anvÀnda samma egenskaper i egna material som i material baserade pÄ typen PrincipledMaterial har ocksÄ blivit möjligt.

- I modulen Qt Network Auth har klassen QOAuthUriSchemeReplyHandler lagts till för att skapa omdirigeringshanterare till en annan URI-scheman vid autentisering med hjÀlp av OAuth 2.0. I klassen QOAuth2AuthorizationCodeFlow har stöd för OAuth-tillÀgget PKCE (Proof Key for Code Exchange) lagts till.
- I klassen QDnsLookup har möjligheten att skicka förfrÄgningar med "DNS over TLS" lagts till, stöd för DNS-poster av typen TLSA (TLS Certificate Association) har implementerats, och klienten informeras om verifieringen av DNS-serverns data.
- I Qt Core har klassen QChronoTimer lagts till med en bindning till biblioteket std::chrono, vilket möjliggör ökad noggrannhet i tidsoperationer. Det har blivit möjligt att Àndra storleken pÄ QString, QByteArray och QList utan att initiera data. I QHash har stöd lagts till för att lagra data av typerna QString och QStringView i ett och samma hash. I QDirListing har ett API baserat pÄ en iterator tillhandahÄllits för att iterera över innehÄllet i kataloger.
- I Qt GUI har möjligheten att överskrida instÀllningarna för det systemomfattande fÀrgschemat lagts till, till exempel för att vÀlja mörkt eller ljust lÀge, samt instÀllningar för ÄtgÀrder som leder till att kontextmenyn anropas.
- I Qt SQL hanterar databasdrivrutinerna PostgreSQL och MySQL/MariaDB nu korrekt tid och datum i situationer nÀr klienten och servern servern har olika tidszoner.
- I Qt WebEngine har nya klasser lagts till: QWebEngineFrame för att arbeta pÄ nivÄn av individuella iframe-block; QWebEngineClientHints för att hantera webblÀsaridentifiering; QWebEnginePermission för att hantera ÄtkomstrÀttigheter kopplade till webbplatser.
- I Qt Widgets har rendering av widgets förbÀttrats pÄ skÀrmar med hög pixel densitet (high-DPI).
- Dokumentationsgeneratorn QDoc har översatts frÄn C API till C++ API och krÀver nu Ätminstone Clang 17 för sitt arbete. Nya kommandon har lagts till, sÄsom "\keyword" och "\nativetype".
- Som en del av arbetet med att öka stabiliteten och prestandan hos LTS-versionen har över 500 korrigeringar och optimeringar lagts till.
KĂ€lla: opennet.ru




