Veröffentlichung des Qt 6.11 Frameworks

Die Qt Company hat die Version 6.11 des Frameworks Qt veröffentlicht, in der die Arbeit an der Stabilisierung und Erweiterung der Qt 6-Serie fortgesetzt wurde. 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. Der Quellcode der Qt-Komponenten wird unter den Lizenzen LGPLv3 und GPLv2 bereitgestellt. Qt 6.11 hat den Status eines Zwischenrelease, dessen allgemeine Unterstützung für 6 Monate (+ weitere 6 Monate für kommerzielle Benutzer) bereitgestellt wird.

Hauptänderungen in Qt 6.11:

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

    Neben der hohen Leistung unterstützt Qt Canvas Painter erweiterte Funktionen wie benutzerdefiniertes Antialiasing, Rahmenverläufe und Schatten (QCanvasBoxGradient und QCanvasBoxShadow ähnlich der CSS-Eigenschaft box-shadow), Rastermuster (QCanvasGridPattern), benutzerdefinierte Shader-Pinsel und Farbeffekte zur Veränderung der 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. Es wurde Unterstützung für die Rendermethode SSGI (Screen Space Global Illumination) hinzugefügt, um Lichtreflexionen von Oberflächen in der Nachbearbeitung zu simulieren (eine Alternative zum Backen von Lichtkarten) sowie SSR (Screen Space Reflections) für eine realistische Echtzeit-Reflexion. Der Algorithmus zur Glättung von bewegten Objekten wurde verbessert, indem Bewegungsvektoren für jedes Objekt erzeugt werden. Anpassbare Render-Pässe wurden implementiert, die direkt aus QML für Schichtmasken, Nachbearbeitungseffekte und Farberkennung verwendet werden können. Neue Programmierschnittstellen für Schichten und Tags wurden hinzugefügt, die die Steuerung einzelner Render-Pässe, das Aktivieren von Elementen in verschiedenen Phasen des Render-Pipelines und die Umleitung in Ziel-Render-Buffer ermöglichen.
    Veröffentlichung des Qt 6.11 Frameworks
  • Die Möglichkeiten des Qt Graphs Moduls wurden erweitert. Ein neuer Typ, CustomSeries, wurde hinzugefügt, der es ermöglicht, eigene Grafiken zu erstellen, bei denen ein benutzerdefinierter Delegate für das Rendering jedes Datenelements verantwortlich ist. In 3D-Grafiken wurde die Unterstützung mehrerer Achseninstanzen implementiert; zum Beispiel können in QBar3DSeries separate Achsen für rowAxis, valueAxis und columnAxis verwendet werden, während in QScatter3DSeries und QSurface3DSeries separate Achsen für axisX, axisY und axisZ zur Verfügung stehen. Neue Eigenschaften wurden hinzugefügt, um die Farben für einzelne Achsen zu überschreiben, Gradienten in Grafiken anzupassen, Linienstile zu ändern und Labels zu positionieren. Ein Beispiel für die Erstellung von anpassbaren 2D- und 3D-Grafiken wurde hinzugefügt — Wind Turbine Dashboard.
    Veröffentlichung des Qt 6.11 Frameworks
  • Ein experimentelles Qt TaskTree-Modul wurde hinzugefügt, das einen deklarativen Ansatz zur Erstellung und Ausführung asynchroner Aufgaben in C++ bietet. Die Schlüsselkomponenten von Qt TaskTree sind: "Rezepte" – wiederverwendbare Objekte, die asynchrone Arbeitsabläufe beschreiben; "Gruppen" – definieren Richtlinien für untergeordnete Aufgaben; "Speicher" zur gemeinsamen Nutzung von Daten zwischen Aufgaben; "Iteratoren" für Schleifen und wiederholte Ausführungen von Aufgaben. Qt TaskTree löst außerdem das Problem der Inkompatibilität zwischen APIs, indem es verschiedene asynchrone APIs in ein standardisiertes Interface vereinheitlicht.
    Veröffentlichung des Qt 6.11 Frameworks
  • Die Möglichkeiten zur Arbeit mit animierter Vektorgrafik, die aus Bildern im SVG- und Lottie-Format generiert wird, wurden erweitert. Das Qt Quick VectorImage-Modul und das lottietoqml-Tool wurden stabilisiert. Unterstützung für Morphing-Animation, SVG-Masken, SVG-Symbole und matte Layer (zum Steuern der Sichtbarkeit anderer Ebenen) wurde hinzugefügt.
  • In Qt Quick Controls wurde die Komponente DoubleSpinBox hinzugefügt. Im DialogButtonBox wurde die Möglichkeit implementiert, die Verarbeitung von Standardtasten zu steuern. Effekt RectangularShadow bietet nun eine unabhängige Steuerung der Eckenradien.
  • In Qt Widgets wurde die Option StretchBanner zu QWizard hinzugefügt; in QAbstractItemView wurde der Parameter keyboardSearchFlags implementiert, um das Suchverhalten beim Drücken von Tasten anzupassen; in QColumnView wurde eine Eigenschaft zur Steuerung der Sichtbarkeit der Vorschau hinzugefügt.
  • Ein Qt OpenAPI Modul wurde hinzugefügt, das es ermöglicht, HTTP-Client-Code zu generieren, der die Qt Networks RESTful API basierend auf der OpenAPI-Spezifikation im YAML-Format nutzt.
  • In das Qt GRPC Modul wurde ein Mechanismus zur Steuerung des Flusses und des Inhalts von Anfragen und Antworten eingeführt.
  • Im Qt HTTP Server Modul wurden die Verwaltungswerkzeuge für Limits erweitert und die Verarbeitung von Antworten im Arbeitsthread verbessert. In QNetworkRequest wurde die Möglichkeit hinzugefügt, die TCP Keep Alive-Parameter einzustellen (standardmäßig werden inaktive Verbindungen nach 2 Minuten automatisch beendet).
  • Im QML Language Server, der zur Integration mit IDEs verwendet wird, wurden Informationen zur Definition des QML-Typs 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-Elemente anhand ihrer Identifikatoren gefunden und die Hierarchie der QML-Kontexte einfach durchquert werden.
  • Zusätzlich zum QRangeModel wurde die Klasse QRangeModelAdapter implementiert, die eine C++-API bereitstellt, um die Modelldaten über das Protokoll QAbstractItemModel zu ändern, was die Übertragung von Daten aus dem Backend-Code auf C++ in Qt Quick oder Qt Widget vereinfacht.
  • Unterstützung für die Plattform Android 16 wurde hinzugefügt. Die Funktionalität der Google Play Feature Delivery wurde implementiert, um die Anwendung in Pakete aufzuteilen (das Hauptpaket wird sofort aus Google Play installiert, während zusätzliche nach Bedarf heruntergeladen werden). Für Android Automotive wurde die Unterstützung für den Start von Qt ohne Android-Abhängigkeiten umgesetzt, um einen schnellen Start der Rendering-Darstellung zu ermöglichen.

Zusätzlich ist die kürzlich veröffentlichte Version der integrierten Entwicklungsumgebung Qt Creator 19 zu erwähnen, die zur Erstellung plattformübergreifender Anwendungen mit der Qt-Bibliothek dient. Sowohl die Entwicklung klassischer Programme in C++ als auch die Verwendung von QML, in dem JavaScript zur Definition von Szenarien verwendet wird und die Struktur sowie Parameter der Benutzeroberflächenelemente in CSS-ähnlichen Blöcken definiert sind, werden unterstützt. Fertige Builds wurden für Linux, Windows und macOS erstellt.

Zu den Neuerungen gehört der Modus minimap (Einstellungen > Texteditor > Anzeige > Minimalkarte aktivieren), der neben der Bildlaufleiste eine Miniaturansicht des gesamten Inhalts anzeigt, sodass der gesamte Code auf einen Blick erfasst werden kann. Integriert ist ein einfacher MCP-Server zur Integration mit KI-Assistenten, der das Öffnen von Dateien und Projekten, das Ausführen von Builds und das Debuggen ermöglicht. Die Konfiguration von Builds auf externen Geräten wurde vereinfacht — eine Schaltfläche "Run Auto-Detection" wurde hinzugefügt, um die Version von Qt, den Compiler, den Debugger und CMake nach der Registrierung des Geräts automatisch zu erkennen. Direkter Zugriff auf die Dateisysteme angeschlossener Geräte, Android-Geräte und Emulatoren wird unterstützt.

Veröffentlichung des Qt 6.11 Frameworks


Quelle: opennet.ru
Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы 🔥 Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы | ProHoster