Release van het Qt 6.11-framework

Het Qt Company heeft de release van het Qt 6.11 framework gepubliceerd, waarin de stabilisatie en uitbreiding van de functionaliteit van de Qt 6 tak is voortgezet. Qt 6.11 ondersteunt de platforms 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 en QNX. De broncode van de Qt-componenten wordt geleverd onder de LGPLv3 en GPLv2 licenties. Qt 6.11 heeft de status van een tussenversie, met openbare ondersteuning die voor 6 maanden zal worden aangeboden (+ nog eens 6 maanden voor commerciële gebruikers).

Belangrijkste wijzigingen in Qt 6.11:

  • De Qt Canvas Painter-module is toegevoegd, die een API biedt voor hardware-versnelde weergave van 2D-inhoud, gebaseerd op de HTML-specificatie van de Canvas 2D Context. Voor de weergave wordt de RHI (Rendering Hardware Interface) gebruikt, die verschillende 3D API's ondersteunt (OpenGL, Vulkan, Metal en Direct 3D), wat leidt tot aanzienlijke prestatieverbeteringen. In tests bleek Qt Canvas Painter tot 2 keer sneller te zijn dan QPainter met de OpenGL-backend op een typische Lenovo ThinkPad P16 Gen 2 laptop, 5 keer sneller op de budget Lenovo Tab M10 HD Android-tablet en 10 keer sneller op de premium Samsung Galaxy Tab S8 Android-tablet.
    Release van het Qt 6.11-framework

    Naast de hoge prestaties biedt Qt Canvas Painter ondersteuning voor geavanceerde functies zoals aanpasbaar antialiasing, randgradiënten en schaduwen (QCanvasBoxGradient en QCanvasBoxShadow vergelijkbaar met de CSS-eigenschap box-shadow), rasterpatronen (QCanvasGridPattern), aangepaste shader-pens en kleureffecten voor het wijzigen van transparantie, helderheid, contrast en verzadiging.

    Release van het Qt 6.11-framework
  • De functionaliteit van de Qt Quick 3D-module is vergelijkbaar met de mogelijkheden van game-engines. Ondersteuning voor de renderingtechniek SSGI (Screen Space Global Illumination) is toegevoegd voor het simuleren van lichtreflectie vanaf oppervlakken in de post-processingfase (een alternatief voor het bakken van lichtmaps) en SSR (Screen Space Reflections) voor realistische weergave van reflecties in real-time. Het algoritme voor het verzachten van bewegende objecten is verbeterd door het genereren van bewegingsvectoren voor elk object. Aanpasbare renderpasses zijn geïmplementeerd die direct vanuit QML kunnen worden gebruikt voor laagmaskers, post-processing effecten en kleurherkenning (color picking). Nieuwe programmeerinterfaces voor lagen en tags zijn toegevoegd, waarmee afzonderlijke renderpasses kunnen worden beheerd, elementen op verschillende momenten in de renderpipeline kunnen worden in- of uitgeschakeld en kunnen worden omgeleid naar doelrenderbuffers.
    Release van het Qt 6.11-framework
  • De mogelijkheden van de Qt Graphs-module zijn uitgebreid. Er is een CustomSeries-type toegevoegd waarmee gebruikers hun eigen grafieken kunnen maken, waarbij de renderen van elk gegevenselement wordt afgehandeld door een door de gebruiker opgegeven delegate. In 3D-grafieken is ondersteuning voor meerdere voorbeelden van assen geïmplementeerd; zo kunnen in QBar3DSeries afzonderlijke assen worden gebruikt voor rowAxis, valueAxis en columnAxis, en in QScatter3DSeries en QSurface3DSeries afzonderlijke assen voor axisX, axisY en axisZ. Nieuwe eigenschappen zijn toegevoegd om kleuren voor afzonderlijke assen te overschrijven, gradienten op grafieken in te stellen, lijnstijlen te wijzigen en labels te positioneren. Er is een voorbeeld toegevoegd voor het maken van aanpasbare 2D- en 3D-grafieken – Wind Turbine Dashboard.
    Release van het Qt 6.11-framework
  • De experimentele Qt TaskTree-module is toegevoegd, die een declaratieve benadering biedt voor het maken en uitvoeren van asynchrone taken in C++. De belangrijkste componenten van Qt TaskTree zijn: 'recepten' – herbruikbare objecten die een asynchroon werkproces beschrijven; 'groepen' – die beleid definiëren voor kindtaken; 'opslag' voor het delen van gegevens tussen taken; en 'iterators' voor lussen en herhaaldelijke uitvoering van taken. Qt TaskTree lost ook de incompatibiliteitsproblemen tussen API's op door verschillende asynchrone API's te verenigen binnen een type-interface.
    Release van het Qt 6.11-framework
  • De mogelijkheden voor het werken met geanimeerde vectorafbeeldingen, gevormd uit afbeeldingen in de formaten SVG en Lottie, zijn uitgebreid. De Qt Quick VectorImage-module en de lottietoqml-tool zijn gestabiliseerd. Ondersteuning voor morfinganimatie, SVG-maskers, SVG-symbolen en matte lagen (voor het beheren van de zichtbaarheid van een andere laag) is toegevoegd.
  • In Qt Quick Controls is de DoubleSpinBox-component toegevoegd. In DialogButtonBox is de mogelijkheid om het standaardbuttonverwerking te beheren geïmplementeerd. In het effect RectangularShadow is onafhankelijke controle over de straal van de hoeken toegevoegd.
  • In Qt Widgets is in QWizard de optie StretchBanner toegevoegd; in QAbstractItemView is de parameter keyboardSearchFlags geïmplementeerd voor het aanpassen van het zoekgedrag tijdens het toetsenbordgebruik; in QColumnView is een eigenschap toegevoegd voor het beheren van de zichtbaarheid van de voorvertoning.
  • De Qt OpenAPI-module is toegevoegd, waarmee code voor de HTTP-client kan worden gegenereerd die gebruikmaakt van de Qt Networks RESTful API, gebaseerd op de OpenAPI-specificatie in YAML-formaat.
  • In de Qt GRPC-module is een mechanisme toegevoegd voor het beheren van de stroom en inhoud van verzoeken en antwoorden.
  • In de Qt HTTP Server-module zijn de middelen voor het beheren van limieten uitgebreid en is de verwerking van antwoorden in de werkthread verbeterd. In QNetworkRequest is de mogelijkheid voor het instellen van TCP Keep Alive-parameters toegevoegd (inactieve verbindingen worden standaard automatisch na 2 minuten beëindigd).
  • In de QML Language Server, die wordt gebruikt voor integratie met IDE's, is informatie toegevoegd over de locatie van het type QML-definitie in de C++-code voor het vergemakkelijken van de navigatie tussen QML en C++ vanuit de IDE - bij het werken met C++-code kunnen QML-objecten eenvoudig worden gevonden op basis van identiteiten en kan de QML-context hiërarchie gemakkelijk worden doorlopen.
  • Naast QRangeModel is de klasse QRangeModelAdapter geïmplementeerd, die een C++ API biedt voor het wijzigen van modelgegevens door middel van het QAbstractItemModel-protocol, wat de overdracht van gegevens vanuit backendcode naar C++ in Qt Quick of Qt Widget vereenvoudigt.
  • Ondersteuning voor het Android-platform 16 is toegevoegd. Functionaliteit voor Google Play Feature Delivery is geïmplementeerd om de applicatie in pakketten te splitsen (het hoofdpackage wordt onmiddellijk vanuit Google Play geïnstalleerd, terwijl extra pakketten indien nodig worden gedownload). Voor Android Automotive is ondersteuning voor het starten van Qt zonder Android-afhankelijkheden geïmplementeerd voor een snelle renderstart.

Daarnaast kan de onlangs uitgebrachte release van de geïntegreerde ontwikkelomgeving Qt Creator 19 worden opgemerkt, die is ontworpen voor het maken van cross-platform applicaties met behulp van de Qt-bibliotheek. Zowel de ontwikkeling van klassieke programma's in C++ als het gebruik van de QML-taal, waarin scenario's worden gedefinieerd met JavaScript en de structuur en parameters van interface-elementen worden vastgesteld met CSS-achtige blokken, worden ondersteund. Kant-en-klare builds zijn beschikbaar voor Linux, Windows en macOS.

Onder de nieuwe functies is er een minimap-modus (Voorkeuren > Teksteditor > Weergave > Minimaps inschakelen), die een miniatuurweergave van de volledige inhoud naast de scrollbalk toont, waardoor je in één oogopslag de hele code kunt overzien. De ingebouwde MCP-server zorgt voor integratie met AI-assistenten, waardoor je bestanden en projecten kunt openen, builds kunt uitvoeren en debugging kunt doen. Het instellen van builds op externe apparaten is vereenvoudigd — er is een knop Run Auto-Detection toegevoegd voor het automatisch detecteren van de versie van Qt, de compiler, de debugger en CMake na registratie van het apparaat. Ondersteuning voor directe toegang tot de bestandssystemen van aangesloten apparaten, Android-apparaten en emulators is geïmplementeerd.

Release van het Qt 6.11-framework


Bron: opennet.ru
Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster