Udgivelsen af rammeværket Qt 6.8

Qt Company har udgivet en ny version af Qt 6.8-rammeværket, hvor der fortsat arbejdes på at stabilisere og udvide funktionaliteten i Qt 6-grenen. I Qt 6.8 er der tilføjet support til platforme som 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 og QNX. Kildekoderne til Qt-komponenterne leveres under LGPLv3- og GPLv2-licenser.

Qt 6.8 har fået status som LTS-udgave, for hvilken opdateringer vil blive genereret i fem år for indehavere af kommercielle licenser, hvilket er to år længere end i tidligere LTS-udgivelser. For ikke-kommercielle brugere vil supporttiden være et halvt år (indtil dannelsen af en ny betydelig udgave). Supporten for den tidligere LTS-gren Qt 6.5 vil vare indtil maj 2026, mens supporten for den før-nu-aktuelle LTS-gren Qt 6.2 ophører den 30. september 2024. Grenen Qt 5.15 vil blive understøttet indtil maj 2025.

De vigtigste ændringer i Qt 6.8:

  • Qt Graphs-modulet, der er designet til at skabe forskellige typer 2D- og 3D-grafer samt visualisering af store samlinger af hurtigt skiftende data, er blevet stabiliseret og er nu helt understøttet. Modulet udvikles som et universelt alternativ til den gamle Qt DataVisualization-modul, som var bundet til OpenGL, og Qt Charts-modulet. Det nye modul bruger Qt Quick 3D og RHI (Rendering Hardware Interface), som understøtter forskellige 3D API'er (OpenGL, Vulkan, Metal og Direct 3D).

    Sammenlignet med den tidligere udgave er der i Qt Graphs 3D tilføjet optimeringer af ydeevnen, der er sikret understøttelse af gennemsigtighed i 3D-grafer (Bars3D), udvidede muligheder for styring af placering og udformning af etiketter og overskrifter, samt forbedret rendering af navigationsgitterlinjer. I Qt Graphs 2D er der mulighed for at tegne egne typer af søjlediagrammer (gennem QML-komponenter), tilføjet support for stablede søjlediagrammer, og værktøjerne til visning af etiketter er blevet udvidet. API'et er blevet ensartet for anvendelsen af temaer i 2D- og 3D-grafer. Widget-specifikke kald er blevet flyttet til Qt Graphs Widgets-modulet.

  • Stabiliseret og oversat til en fuldt understøttet modul QtHttpServer, der muliggør integration af HTTP-server funktionalitet i applikationer, som understøtter HTTP/1.1, TLS/HTTPS, WebSockets, fejlhåndtering, anmodningsrouting baseret på URL-parametre (QHttpServerRouter) og REST API. Sammenlignet med den tidligere version har klassen QNetworkAccessManager fået mulighed for at sende HTTP-anmodninger gennem en lokal socket. Der er tilføjet support for brug af klassen QFormDataBuilder til at forenkle overførslen af flere datasæt (f.eks. tekstdata og vedhæftede filer) i en enkelt HTTP-anmodning (HTTP multi-part).
  • Stabiliseret og oversat til en fuldt understøttet modul Qt GRPC, som gør det muligt at tilgå tjenester ved hjælp af gRPC-protokollen.
  • Stabiliseret og oversat til en fuldt understøttet modul Qt Protobuf, der er designet til serialisering af Qt-klasser ved hjælp af Protocol Buffer-protokollen.
  • Tilføjet support for mobile platforme Android 14 og iOS 18.
  • Der er givet mulighed for at udvikle applikationer til desktop-systemer Linux og Windows med ARM-processorer, samt 3D-hjelme som Apple Vision Pro og Meta Quest 3 XR.
  • Tilføjet support for Raspberry Pi 5, NVIDIA AGX Orin og nogle boards baseret på SoC NXP, Toradex og STM. Tilføjet support for RISC-V boards StarFive VisionFive 2.
  • Mulighederne for at danne trimmede Qt builds, der kan anvendes på enheder med begrænset hukommelse, er blevet udvidet. For eksempel, ved at deaktivere ubrugte funktioner og komponenter fra Qt, kan størrelsen af builden i permanent opbevaring reduceres med 77% og RAM-forbruget med 32%, hvilket også markant kan forkorte opstartstiden.
  • I modulet Qt Multimedia på Linux-platformen er der implementeret support for skærmoptagelse ved hjælp af klassen QScreenCapture i miljøer baseret på Wayland-protokollen, ved at bruge ScreenCast-tjenesten og XDG Desktop portal systemet. Tilføjet klasserne QVideoFrameInput, QAbstractVideoBuffer og QAudioBufferInput, som muliggør sendingen af egne multimediedata i optagelsessessionen (QMediaCaptureSession), samt klassen QAudioBufferOutput til tilslutning af håndteringssystemer, der modtager lyddata i stadiet efter dekodning.
  • Qt Quick Vector Image-modulet er blevet tilføjet, hvilket muliggør integration af vektorbilleder i SVG-format i Qt Quick-scener, hvilket kan anvendes, for eksempel til at skabe skalerbare brugergrænsefladeelementer, der er uafhængige af opløsning og skærmstørrelse.
    Udgivelsen af rammeværket Qt 6.8
  • Qt Quick 3D XR-modulet er blevet tilføjet for at skabe applikationer til virtuelle og udvidede realitetsplatforme ved hjælp af Qt Quick 3D-teknologier. For at organisere interaktion med de 3D-miljøer, der er skabt ved hjælp af Qt Quick 3D, understøttes brug af håndsporingsenheder og VR-controllere. Til visualisering kan Apple VisionPro-briller eller 3D-hjelme, der understøtter OpenXR-standarden, såsom Meta Quest 2/3, anvendes.
    Udgivelsen af rammeværket Qt 6.8
  • Optimeringer, der fremskynder gengivelsen af komplekse scener, er blevet tilføjet i Qt Quick. I TableView-klassen er det blevet muligt at flytte kolonner og rækker. I Image- og BorderImage-typerne er der implementeret støtte til asynkron billedindlæsning (det gamle billede forbliver indtil det nye er indlæst).
  • Qt Quick Effect Maker-modulet har fået støtte til animation af sprites, krumning af elementer omkring en omkreds samt anvendelse i glød- og selektiv slør-effekter (masked blur).
  • I Qt Quick Shapes-modulet er brug af enhver teksturprovider tilladt ved udfyldning af konturen i elementer af typen ShapePath. I QQuickRenderTarget-klassen er der tilføjet nye metoder til at styre behandlingen af teksturer og forenkle integrationen af Qt Quick 3D med eksterne motorer, frameworks og API'er.
  • I Qt Quick Controls er der blevet foreslået en ny stil Fluent WinUI3, der muliggør at danne en grænseflade, der ser ud som Windows 11 på enhver platform. I macOS er der implementeret mulighed for at bruge det globale menu, der tilbydes af platformen, i grænseflader skabt ved hjælp af Quick MenuBar.
    Udgivelsen af rammeværket Qt 6.8
  • I Qt Quick 3D er skygge-gengivelsen forbedret ved hjælp af kaskadiske skyggekort og blød skyggefiltrering. I PrincipledMaterial-typen er der tilføjet nye egenskaber. Det er muligt at bruge de samme egenskaber i egne materialer som i materialer baseret på typen PrincipledMaterial.
    Udgivelsen af rammeværket Qt 6.8
  • I Qt Network Auth-modulet er klassen QOAuthUriSchemeReplyHandler blevet tilføjet for at oprette omdirigeringshåndterere til en anden URI-skema ved autentificering ved hjælp af OAuth 2.0. Klassen QOAuth2AuthorizationCodeFlow har fået støtte til OAuth-udvidelsen PKCE (Proof Key for Code Exchange).
  • Klassen QDnsLookup har fået muligheden for at sende anmodninger med "DNS over TLS", implementeret støtte til DNS-poster TLSA (TLS Certificate Association) og sikret, at klienten informeres om verifikationen af dataene fra DNS-serveren.
  • I Qt Core er klassen QChronoTimer blevet tilføjet med en indpakning over std::chrono-biblioteket, hvilket muliggør en forbedring af tidsoperationernes nøjagtighed. Der er implementeret mulighed for at ændre størrelsen af QString, QByteArray og QList uden at initialisere data. QHash har fået støtte til at gemme data med typerne QString og QStringView i én hash. I QDirListing er der givet en API baseret på iterator til at gennemgå indholdet af mapper.
  • I Qt GUI er muligheden for at overskrive indstillingerne for det systemfarveskema blevet tilføjet, som f.eks. at vælge mellem mørk eller lys tilstand, samt indstillinger for handlinger, der fører til åbning af kontekstmenuen.
  • I Qt Sql driverne til databasesystemerne PostgreSQL og MySQL/MariaDB håndteres tid og dato nu korrekt, når klienten og serveren serveren er indstillet til forskellige tidszoner.
  • Qt WebEngine har fået nye klasser: QWebEngineFrame til at arbejde på niveauet for individuelle iframe-blokke; QWebEngineClientHints til at styre browseridentifikation; QWebEnginePermission til at styre adgangsrettigheder i relation til websteder.
  • I Qt Widgets er rendering af widgets på skærme med høj pixel tæthed (high-DPI) forbedret.
  • Dokumentationsgeneratoren QDoc er blevet flyttet fra C API til C++ API, og det kræver nu mindst Clang 17 for at fungere. Nye kommandoer som "\keyword" og "\nativetype" er tilføjet.
  • Som en del af arbejdet med at forbedre stabiliteten og ydeevnen i LTS-udgivelsen er der foretaget over 500 rettelser og optimeringer.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster