Veröffentlichung des Qt 6.11 Frameworks

Die Qt Company hat die Veröffentlichung des Qt 6.11 Frameworks bekannt gegeben, das die Arbeit an der Stabilisierung und Erweiterung der Funktionen des Qt 6 Zweigs fortsetzt. Qt 6.11 bietet UnterstĂŒtzung fĂŒr die Plattformen 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 und QNX. Die Quelltexte der Qt Komponenten werden unter den Lizenzen LGPLv3 und GPLv2 bereitgestellt. Qt 6.11 erhielt den Status eines Zwischenrelease, dessen öffentliche UnterstĂŒtzung fĂŒr 6 Monate (+ weitere 6 Monate fĂŒr kommerzielle Nutzer) bereitgestellt wird.

Wesentliche Änderungen in Qt 6.11:

  • Das Modul Qt Canvas Painter wurde hinzugefĂŒgt, das eine API fĂŒr die hardwarebeschleunigte Darstellung von 2D-Inhalten bereitstellt und sich an der HTML-Spezifikation Canvas 2D Context orientiert. FĂŒr die Darstellung wird die RHI (Rendering Hardware Interface) Engine verwendet, die verschiedene 3D-APIs (OpenGL, Vulkan, Metal und Direct 3D) unterstĂŒtzt, wodurch eine signifikante Leistungssteigerung erzielt werden konnte. In Tests war der Qt Canvas Painter auf einem typischen Lenovo ThinkPad P16 Gen 2 doppelt so schnell wie QPainter mit OpenGL-Backend, fĂŒnfmal so schnell auf einem gĂŒnstigen Lenovo Tab M10 HD Android-Tablet und zehnmal so schnell auf einem hochmodernen Samsung Galaxy Tab S8 Android-Tablet.
    Veröffentlichung des Qt 6.11 Frameworks

    Neben der hohen Leistung implementiert Qt Canvas Painter UnterstĂŒtzung fĂŒr erweiterte Funktionen wie anpassbares Anti-Aliasing, umrandende FarbverlĂ€ufe und Schatten (QCanvasBoxGradient und QCanvasBoxShadow Ă€hnlich der CSS-Eigenschaft box-shadow), Netzmuster (QCanvasGridPattern), benutzerdefinierte Shader-Pinsel und Farbeffekte zur Anpassung von Transparenz, Helligkeit, Kontrast und SĂ€ttigung.

    Veröffentlichung des Qt 6.11 Frameworks
  • Die FunktionalitĂ€t des Qt Quick 3D-Moduls Ă€hnelt den Möglichkeiten von Spiel-Engines. UnterstĂŒtzung fĂŒr das Rendering-Verfahren SSGI (Screen Space Global Illumination) wurde hinzugefĂŒgt, um die Lichtreflexion von OberflĂ€chen in der Nachbearbeitungsphase zu simulieren (eine Alternative zum Backen von Lichtkarten) und SSR (Screen Space Reflections) fĂŒr die realistische Darstellung von Reflexionen in Echtzeit. Der Algorithmus zur GlĂ€ttung von bewegten Objekten wurde durch die Generierung von Bewegungsvektoren fĂŒr jedes Objekt verbessert. Anpassen von Rendering-PĂ€ssen (Render-Pass), die direkt aus QML fĂŒr Schichtmasken, Nachbearbeitungseffekte und Farbzuweisungen (Color Picking) verwendet werden können, wurde implementiert. Neue APIs fĂŒr Schichten und Tags wurden hinzugefĂŒgt, die es ermöglichen, einzelne Rendering-PĂ€sse zu steuern, Elemente in verschiedenen Phasen der Render-Pipeline zu aktivieren und in Ziel-Rendering-Puffer umzuleiten.
    Veröffentlichung des Qt 6.11 Frameworks
  • Die Möglichkeiten des Qt Graphs-Moduls wurden erweitert. Ein neuer Typ namens CustomSeries wurde hinzugefĂŒgt, der es ermöglicht, eigene Grafiken zu erstellen, bei denen ein benutzerdefinierter Delegat fĂŒr das Zeichnen jedes Datenelements verantwortlich ist. In 3D-Grafiken wurde die UnterstĂŒtzung fĂŒr mehrere Achseninstanzen implementiert. Zum Beispiel können in QBar3DSeries separate Achsen fĂŒr rowAxis, valueAxis und columnAxis verwendet werden, wĂ€hrend in QScatter3DSeries und QSurface3DSeries getrennte Achsen fĂŒr axisX, axisY und axisZ genutzt werden. Neue Eigenschaften zum Überschreiben von Farben fĂŒr einzelne Achsen, zur Anpassung von FarbverlĂ€ufen in Grafiken, zur Änderung des Linienstils und zur Positionierung von Beschriftungen wurden hinzugefĂŒgt. Ein Beispiel zur Erstellung anpassbarer 2D- und 3D-Diagramme — Wind Turbine Dashboard — wurde ebenfalls eingefĂŒgt.
    Veröffentlichung des Qt 6.11 Frameworks
  • Ein experimentelles Modul Qt TaskTree wurde hinzugefĂŒgt, das einen deklarativen Ansatz zum Erstellen und AusfĂŒhren asynchroner Aufgaben in C++ bietet. Zu den SchlĂŒsselaspekten von Qt TaskTree gehören: „Rezepte“ — wiederverwendbare Objekte, die den asynchronen Arbeitsablauf beschreiben; „Gruppen“ — definieren Richtlinien fĂŒr untergeordnete Aufgaben; „Speicher“ fĂŒr den gemeinsamen Datenaustausch zwischen Aufgaben; „Iteratoren“ fĂŒr Schleifen und die Wiederholung von Aufgaben. Qt TaskTree löst ebenfalls das Problem der InkompatibilitĂ€t zwischen APIs, indem verschiedene asynchrone APIs in eine einheitliche Schnittstelle integriert werden.
    Veröffentlichung des Qt 6.11 Frameworks
  • Die Möglichkeiten zur Arbeit mit animierter Vektorgrafik, die aus Bildern in den Formaten SVG und Lottie erstellt wird, wurden erweitert. Das Qt Quick VectorImage-Modul und das lottietoqml-Tool wurden stabilisiert. UnterstĂŒtzung fĂŒr Morphing-Animationen, SVG-Masken, SVG-Symbole und Matte Layer (zur Steuerung der Sichtbarkeit einer anderen Ebene) wurde hinzugefĂŒgt.
  • Im Qt Quick Controls wurde die Komponente DoubleSpinBox hinzugefĂŒgt. Im DialogButtonBox wurde die Möglichkeit zur Steuerung der Verarbeitung von Standardtasten implementiert. Im Effekt RectangularShadow gibt es jetzt eine unabhĂ€ngige Steuerung der Eckenradien.
  • Im Qt Widgets wurde in QWizard die Option StretchBanner hinzugefĂŒgt; im QAbstractItemView wurde der Parameter keyboardSearchFlags implementiert, um das Verhalten der Suche beim DrĂŒcken von Tasten anzupassen; in QColumnView wurde eine Eigenschaft zur Steuerung der Sichtbarkeit der Vorschau hinzugefĂŒgt.
  • Das Modul Qt OpenAPI wurde hinzugefĂŒgt, das die automatische Generierung von HTTP-Client-Code ermöglicht, der die Qt Networks RESTful API basierend auf einer OpenAPI-Spezifikation im YAML-Format verwendet.
  • Im Modul Qt GRPC wurde ein Mechanismus zur Steuerung des Flusses und des Inhalts von Anfragen und Antworten hinzugefĂŒgt.
  • Im Modul Qt HTTP Server wurden die Verwaltungsmöglichkeiten fĂŒr Limits erweitert und die Bearbeitung von Antworten im Arbeitsprozess verbessert. In QNetworkRequest kann jetzt die Konfiguration der TCP Keep Alive-Parameter eingestellt werden (standardmĂ€ĂŸig werden inaktive Verbindungen nach 2 Minuten automatisch beendet).
  • Im QML Language Server, der fĂŒr die Integration mit IDE verwendet wird, wurden Informationen zum Ort der Typdefinition von QML im C++-Code hinzugefĂŒgt, um die Navigation zwischen QML und C++ aus der IDE zu erleichtern — beim Arbeiten mit C++-Code können QML-Objekte anhand von IDs gefunden werden, und die Hierarchie der QML-Kontexte kann leicht durchlaufen werden.
  • ZusĂ€tzlich zu QRangeModel wurde die Klasse QRangeModelAdapter implementiert, die eine C++-API zur Änderung der Modaldaten bereitstellt und ĂŒber das Protokoll QAbstractItemModel interagiert, was die DatenĂŒbertragung aus dem Backend-Code nach C++ in Qt Quick oder Qt Widget vereinfacht.
  • Die UnterstĂŒtzung fĂŒr die Android-Plattform 16 wurde hinzugefĂŒgt. Die FunktionalitĂ€t der Google Play Feature Delivery zur Aufteilung der Anwendung in Pakete wurde implementiert (das Hauptpaket wird sofort aus Google Play installiert, wĂ€hrend zusĂ€tzliche bei Bedarf heruntergeladen werden). FĂŒr Android Automotive wurde die UnterstĂŒtzung fĂŒr den Start von Qt ohne Android-AbhĂ€ngigkeiten fĂŒr einen schnellen Start der Darstellung implementiert.

ZusĂ€tzlich ist die vor Kurzem veröffentlichte Version der integrierten Entwicklungsumgebung Qt Creator 19 zu erwĂ€hnen, die fĂŒr die Erstellung plattformĂŒbergreifender Anwendungen mit der Qt-Bibliothek bestimmt ist. Sowohl die Entwicklung klassischer Programme in C++ als auch die Verwendung der Sprache QML wird unterstĂŒtzt, in der JavaScript zur Definition von Skripten verwendet wird und die Struktur sowie die Parameter der BenutzeroberflĂ€chenelemente durch CSS-Ă€hnliche Blöcke festgelegt werden. Fertige Builds sind fĂŒr Linux, Windows und macOS verfĂŒgbar.

Zu den Neuerungen gehört der Minimalkartenmodus (Preferences > Text Editor > Display > Enable minimap), der neben der Bildlaufleiste eine Miniaturansicht des gesamten Inhalts anzeigt und es ermöglicht, den gesamten Code auf einen Blick zu erfassen. Integriert ist ein einfacher MCP-Server zur Integration von KI-Assistenten, der das Öffnen von Dateien und Projekten, das Starten von Builds und das Debuggen ermöglicht. Die Einrichtung von Builds auf externen GerĂ€ten wurde vereinfacht — es gibt jetzt die SchaltflĂ€che Run Auto-Detection, die nach der Registrierung des GerĂ€ts die Qt-Version, den Compiler, den Debugger und CMake automatisch erkennt. Direkter Zugriff auf die Dateisysteme angeschlossener GerĂ€te, Android-GerĂ€te und Emulatoren wurde implementiert.

Veröffentlichung des Qt 6.11 Frameworks


Quelle: opennet.ru
60GB SSD 8Gb DDR4