Utgivning av Qt 6.11-ramverket

Qt Company har publicerat en version av ramverket Qt 6.11, dÀr arbetet med att stabilisera och öka funktionaliteten i Qt 6-familjen fortsÀtter. I Qt 6.11 erbjuds stöd för plattformar som Windows 10+, macOS 13+, Linux (Ubuntu 22.04/24.04, openSUSE 15.6/16, SUSE 15 SP6, RHEL 8.10/9.6/10, Debian 11.6/12), iOS 17+, Android 9+(API 23+), webOS, WebAssembly, INTEGRITY, VxWorks, FreeRTOS och QNX. KÀllkoderna för Qt-komponenterna levereras under licenserna LGPLv3 och GPLv2. Qt 6.11 har status som en betaversion, vars offentliga stöd kommer att pÄgÄ i 6 mÄnader (+ ytterligare 6 mÄnader för kommersiella anvÀndare).

De viktigaste Àndringarna i Qt 6.11:

  • Modulen Qt Canvas Painter har lagts till, vilket ger ett API för hĂ„rdvaruaccelererad rendering av 2D-innehĂ„ll, uppbyggt med hĂ€nsyn till HTML-specifikationen för Canvas 2D Context. För rendering anvĂ€nds RHI (Rendering Hardware Interface), som stödjer olika 3D-API:er (OpenGL, Vulkan, Metal och Direct 3D), vilket har resulterat i en betydande prestandaförbĂ€ttring. I genomförda tester visade sig Qt Canvas Painter vara tvĂ„ gĂ„nger snabbare Ă€n QPainter med OpenGL-backend pĂ„ en typisk Lenovo ThinkPad P16 Gen 2-laptop, fem gĂ„nger snabbare pĂ„ en budget Android-surfplatta Lenovo Tab M10 HD och tio gĂ„nger snabbare pĂ„ en toppmoderna Android-surfplatta Samsung Galaxy Tab S8.
    Utgivning av Qt 6.11-ramverket

    Förutom hög prestanda implementerar Qt Canvas Painter stöd för avancerade funktioner som anpassningsbar antialiasing, ramgradiens och skuggor (QCanvasBoxGradient och QCanvasBoxShadow analogt med CSS-egenskapen box-shadow), rutnÀtsmönster (QCanvasGridPattern), anvÀndardefinierade shaderpenslar och fÀrgeffekter för att Àndra genomskinlighet, ljusstyrka, kontrast och mÀttnad.

    Utgivning av Qt 6.11-ramverket
  • Funktionaliteten i Qt Quick 3D-modulen ligger nĂ€ra funktionerna hos spelmotorer. Stöd har lagts till för renderingsmetoder som SSGI (Screen Space Global Illumination) för att simulera ljusreflektioner frĂ„n ytor under efterbehandling (ett alternativ till ljuskartor (lightmap)) och SSR (Screen Space Reflections) för realistisk rendering av speglingar i realtid. Algoritmen för att jĂ€mna ut rörliga objekt har förbĂ€ttrats genom att generera rörelsevektorer för varje objekt. Anpassningsbara renderingspass (render-pass) har implementerats, vilket kan anvĂ€ndas direkt frĂ„n QML för maskering av lager, efterbehandlings effekter och objektidentifiering via fĂ€rg (color picking). Nya programgrĂ€nssnitt för lager och taggar har lagts till, vilket möjliggör styrning av separata renderingspass, aktivering av element i olika skeden av renderingskedjan (render pipeline) och omdirigering till mĂ„lrenderingsbuffertar.
    Utgivning av Qt 6.11-ramverket
  • Möjligheterna i Qt Graphs-modulen har utökats. En ny typ, CustomSeries, har lagts till för att skapa egna diagram dĂ€r en anvĂ€ndardefinierad delegat ansvarar för rendering av varje dataelement. I 3D-diagram har stöd för flera axelsinstanser implementerats, dĂ€r till exempel QBar3DSeries kan anvĂ€nda separata axlar för rowAxis, valueAxis och columnAxis, medan QScatter3DSeries och QSurface3DSeries kan anvĂ€nda separata axlar för axisX, axisY och axisZ. Nya egenskaper har lagts till för att Ă„sidosĂ€tta fĂ€rger för separata axlar, justera gradienter pĂ„ diagram, Ă€ndra linjestilar och positionera etiketter. Ett exempel pĂ„ att skapa anpassade 2D- och 3D-diagram har lagts till — Vindkraftverk Dashboard.
    Utgivning av Qt 6.11-ramverket
  • En experimentell modul, Qt TaskTree, har lagts till, som tillhandahĂ„ller ett deklarativt tillvĂ€gagĂ„ngssĂ€tt för att skapa och utföra asynkrona uppgifter i C++. De viktigaste komponenterna i Qt TaskTree Ă€r: 'recept' — Ă„teranvĂ€ndbara objekt som beskriver asynkrona arbetsflöden; 'grupper' — definierar policyer för underordnade uppgifter; 'lagring' för datadelning mellan uppgifter; 'iteratorer' för loopar och upprepning av uppgifter. Qt TaskTree löser Ă€ven problemet med inkompatibilitet mellan API:er genom att enhetliggöra olika asynkrona API:er till ett typgrĂ€nssnitt.
    Utgivning av Qt 6.11-ramverket
  • Möjligheterna för att arbeta med animerad vektorgrafik som skapas frĂ„n bilder i formaten SVG och Lottie har utvidgats. Modulen Qt Quick VectorImage och verktyget lottietoqml har stabiliserats. Stöd för morphing-animation, SVG-masker, SVG-symboler och masklager (matte layer, för att hantera synligheten hos ett annat lager) har lagts till.
  • I Qt Quick Controls har komponenten DoubleSpinBox lagts till. I DialogButtonBox har möjligheten att styra behandling av standardknappar implementerats. Effekten RectangularShadow har fĂ„tt oberoende kontroll över hörnradiuser.
  • I Qt Widgets har alternativet StretchBanner lagts till i QWizard; i QAbstractItemView har parameter keyboardSearchFlags implementerats för att konfigurera sökbeteende under tangenttryckning; i QColumnView har en egenskap lagts till för att hantera synligheten av förhandsgranskningen.
  • Modulen Qt OpenAPI har lagts till, vilket gör det möjligt att generera HTTP-klientkod som anvĂ€nder Qt Networks RESTful API baserat pĂ„ OpenAPI-specifikation i YAML-format.
  • Det har lagts till en mekanism för att hantera flödet och innehĂ„llet i förfrĂ„gningar och svar i Qt GRPC-modulen.
  • I Qt HTTP Server-modulen har verktygen för att hantera begrĂ€nsningar utvidgats och hanteringen av svar i arbetstrĂ„den har förbĂ€ttrats. I QNetworkRequest har möjligheten att konfigurera TCP Keep Alive-parametrar lagts till (privat Ă€r inaktiva anslutningar automatiskt avslutade efter 2 minuter).
  • I QML Language Server, som anvĂ€nds för integration med IDE, har information om var QML-typdefinitionen finns i C++-koden lagts till för att förenkla navigeringen mellan QML och C++ frĂ„n IDE — vid arbete med C++-kod kan QML-objekt hittas via identiteter och enkelt navigeras i QML-kontaktens hierarki.
  • Utöver QRangeModel har klassen QRangeModelAdapter implementerats, vilket erbjuder C++ API för att Ă€ndra modellens data genom att interagera via protokollet QAbstractItemModel, vilket förenklar överföringen av data frĂ„n backend-koden pĂ„ C++ till Qt Quick eller Qt Widget.
  • Stödet för plattformen Android 16 har lagts till. Funktionalitet för Google Play Feature Delivery har implementerats för att dela upp applikationen i paket (huvudpaketet installeras omedelbart frĂ„n Google Play, medan ytterligare paket laddas ner efter behov). För Android Automotive har stöd för att starta Qt utan Android-beroenden implementerats för snabb uppstart av rendering.

Det Àr ocksÄ vÀrt att nÀmna den nyligen publicerade versionen av den integrerade utvecklingsmiljön Qt Creator 19, avsedd för att skapa plattformsoberoende applikationer med hjÀlp av Qt-biblioteket. BÄde klassisk programmering pÄ C++ och anvÀndning av QML-sprÄket stöds, dÀr JavaScript anvÀnds för att definiera scenarier och strukturen och parametrarna för grÀnssnittselementen anges i CSS-liknande block. Klara byggnader har skapats för Linux, Windows och macOS.

Bland nyheterna finns minimap-lĂ€get (InstĂ€llningar > Textredigerare > Visa > Aktivera minimap), som visar en miniatyrbild av allt innehĂ„ll bredvid rullningsfĂ€ltet, vilket gör att hela koden kan överblickas pĂ„ en gĂ„ng. Det finns ocksĂ„ en enkel MCP-server integrerad för att samarbeta med AI-assistenter, som gör det möjligt att öppna filer och projekt, starta byggen och utföra debugging. BygginstĂ€llningarna för externa enheter har förenklats — en knapp för Automatiskt upptĂ€ckande har lagts till för att automatiskt identifiera versionen av Qt, kompilatorn, debuggern och CMake efter registrering av enheten. DirektĂ„tkomst till filsystemen pĂ„ anslutna enheter, Android-enheter och emulatorer har implementerats.

Utgivning av Qt 6.11-ramverket


KĂ€lla: opennet.ru
Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster