Release des Frameworks Qt 6.8

Die Qt Company hat die Version Qt 6.8 veröffentlicht, die die Stabilisierung und den Ausbau der Funktionalität der Qt 6 Reihe fortsetzt. Qt 6.8 bietet Unterstützung für die Plattformen 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 und QNX. Der Quellcode der Qt-Komponenten wird unter den Lizenzen LGPLv3 und GPLv2 bereitgestellt.

Qt 6.8 hat den Status eines LTS-Releases erhalten, für das Updates über fünf Jahre für Inhaber einer kommerziellen Lizenz verfügbar sein werden, was zwei Jahre länger ist als bei früheren LTS-Releases. Für nicht-kommerzielle Nutzer beträgt die Supportdauer sechs Monate (bis zur Erstellung einer neuen signifikanten Version). Die Unterstützung der vorherigen LTS-Version Qt 6.5 wird bis Mai 2026 fortgeführt, während die Unterstützung der vorletzten LTS-Version Qt 6.2 am 30. September 2024 eingestellt wird. Die Version Qt 5.15 wird bis Mai 2025 unterstützt.

Wesentliche Änderungen in Qt 6.8:

  • Das stabilisierte und umgestellte Modul Qt Graphs wird nun vollständig unterstützt und ist für die Erstellung verschiedener Arten von 2D- und 3D-Diagrammen sowie zur Visualisierung großer Sammlungen schnell wechselnder Daten vorgesehen. Dieses Modul entwickelt sich zu einer universellen Alternative zum alten Qt DataVisualization-Modul, das auf OpenGL basiert, sowie dem Modul Qt Charts. Das neue Modul nutzt Qt Quick 3D und die Rendering Hardware Interface (RHI), die verschiedene 3D-APIs (OpenGL, Vulkan, Metal und Direct 3D) unterstützt.

    Im Vergleich zur vorherigen Version wurden in Qt Graphs 3D Performance-Optimierungen hinzugefügt, die Unterstützung von Transparenz in dreidimensionalen Diagrammen (Bars3D) gewährleistet, und die Möglichkeiten zur Steuerung von Position und Gestaltung von Beschriftungen und Titeln erweitert. In Qt Graphs 2D besteht die Möglichkeit, benutzerdefinierte Arten von Säulendiagrammen (über QML-Komponenten) zu zeichnen, die Unterstützung für gestapelte Säulendiagramme wurde hinzugefügt, und die Werkzeuge zur Anzeige von Beschriftungen wurden erweitert. Die API für die Verwendung von Themen in 2D- und 3D-Diagrammen wurde vereinheitlicht. Widget-spezifische Aufrufe wurden in das Modul Qt Graphs Widgets verschoben.

  • Stabilisiert und in den Status vollständig unterstützter Module überführt: QtHttpServer, der es ermöglicht, HTTP-Serverfunktionen in Anwendungen zu integrieren. Er unterstützt HTTP/1.1, TLS/HTTPS, WebSockets, Fehlerbehandlung, anforderungsbasierte URL-Routing (QHttpServerRouter) und REST APIs. Im Vergleich zur vorherigen Version wurde im QNetworkAccessManager die Möglichkeit implementiert, HTTP-Anfragen über lokale Sockets zu senden. Unterstützung für die Verwendung der Klasse QFormDataBuilder wurde bereitgestellt, um die Übertragung mehrerer Datensätze (wie textuelle Daten und angehängte Dateien) in einer einzigen HTTP-Anfrage (HTTP-Multi-Part) zu erleichtern.
  • Stabilisiert und in den Status vollständig unterstützter Module überführt: Qt GRPC, das es ermöglicht, auf Dienste über das gRPC-Protokoll zuzugreifen.
  • Stabilisiert und in den Status vollständig unterstützter Module überführt: Qt Protobuf, das für die Serialisierung von Qt-Klassen unter Verwendung des Protokollpuffers vorgesehen ist.
  • Unterstützung für mobile Plattformen Android 14 und iOS 18 hinzugefügt.
  • Es wurde die Möglichkeit geschaffen, Anwendungen für Desktop-Betriebssysteme Linux und Windows mit ARM-Prozessoren sowie für 3D-Headsets wie Apple Vision Pro und Meta Quest 3 XR zu entwickeln.
  • Unterstützung für Raspberry Pi 5, NVIDIA AGX Orin und bestimmte SoC-basiert Platinen von NXP, Toradex und STM hinzugefügt. Unterstützung für RISC-V-Platinen wie StarFive VisionFive 2 wurde eingeführt.
  • Die Möglichkeiten zur Erstellung von abgespeckten Qt-Bundles für Geräte mit begrenztem Speicher wurden erweitert. Durch das Deaktivieren nicht genutzter Funktionen und Komponenten von Qt kann die Größe des Bundles im persistente Speicher um 77 % verkleinert und der RAM-Verbrauch um 32 % gesenkt werden, wodurch auch die Ladezeiten erheblich reduziert werden.
  • Im Qt Multimedia-Modul auf der Linux-Plattform wurde die Unterstützung für die Bildschirmaufnahme mit der Klasse QScreenCapture in Umgebungen, die das Wayland-Protokoll verwenden, implementiert, unter Verwendung des ScreenCast-Dienstes und des XDG Desktop Portal-Systems. Klassen wie QVideoFrameInput, QAbstractVideoBuffer und QAudioBufferInput wurden hinzugefügt, mit denen eigene Multimedia-Daten in eine Aufnahme-Sitzung (QMediaCaptureSession) eingespeist werden können, sowie die Klasse QAudioBufferOutput, um Handler zu verbinden, die Audio-Daten nach der Dekodierung empfangen.
  • Das Qt Quick Vector Image Modul wurde hinzugefügt, um vektorbasierte SVG-Bilder in Qt Quick-Szenen zu integrieren. Dies kann beispielsweise zur Erstellung skalierbarer Interface-Elemente genutzt werden, die unabhängig von der Bildschirmauflösung und -größe sind.
    Release des Frameworks Qt 6.8
  • Das Qt Quick 3D XR Modul wurde hinzugefügt, um Anwendungen für virtuelle und erweiterte Realität unter Verwendung der Qt Quick 3D-Technologien zu erstellen. Für die Interaktion mit den 3D-Umgebungen, die mit Qt Quick 3D erstellt wurden, wird die Unterstützung von Hand-Tracking-Geräten und VR-Controllern bereitgestellt. Zur Visualisierung können Apple VisionPro-Brillen oder 3D-Headsets genutzt werden, die den OpenXR-Standard unterstützen, wie Meta Quest 2/3.
    Release des Frameworks Qt 6.8
  • In Qt Quick wurden Optimierungen eingeführt, die das Rendering komplexer Szenen beschleunigen. Die TableView-Klasse erhielt die Möglichkeit, Spalten und Zeilen zu verschieben. In den Typen Image und BorderImage wurde die Unterstützung für asynchrones Laden von Bildern implementiert (das alte Bild bleibt sichtbar, während das neue geladen wird).
  • Das Modul Qt Quick Effect Maker hat die Unterstützung für die Animation von Sprites, das Verbiegen von Elementen nach einer Kurve sowie die Verwendung in Glüheffekten und selektiver Unschärfe (masked blur) erhalten.
  • Im Modul Qt Quick Shapes ist es nun erlaubt, bei der Füllung von Konturen in ShapePath-Elementen Texturanbieter beliebig zu verwenden. Die Klasse QQuickRenderTarget hat neue Methoden zur Verwaltung der Texturverarbeitung erhalten, um die Integration von Qt Quick 3D mit externen Engines, Frameworks und APIs zu erleichtern.
  • In Qt Quick Controls wurde ein neuer Fluent WinUI3-Stil eingeführt, der es ermöglicht, eine Benutzeroberfläche zu erstellen, die wie Windows 11 auf allen Plattformen aussieht. In macOS wurde die Möglichkeit implementiert, das von der Plattform bereitgestellte globale Menü in mit Quick MenuBar erstellten Schnittstellen zu verwenden.
    Release des Frameworks Qt 6.8
  • In Qt Quick 3D wurde die Schattenzeichnung verbessert, dank der Verwendung von kaskadierenden Schattenkarten und sanfter Schattenfilterung. Im Typ PrincipledMaterial wurden neue Eigenschaften hinzugefügt. Es besteht die Möglichkeit, in eigenen Materialien dieselben Eigenschaften wie in Materialien auf Basis des Typs PrincipledMaterial zu verwenden.
    Release des Frameworks Qt 6.8
  • Im Qt Network Auth-Modul wurde die Klasse QOAuthUriSchemeReplyHandler hinzugefügt, die Redirect-Handler für andere URI-Schemata bei der Authentifizierung mit OAuth 2.0 erstellt. Außerdem erhält die Klasse QOAuth2AuthorizationCodeFlow Unterstützung für die OAuth-Erweiterung PKCE (Proof Key for Code Exchange).
  • In die Klasse QDnsLookup wurde die Möglichkeit zur Durchführung von Anfragen über 'DNS over TLS' integriert, sowie die Unterstützung für TLSA-DNS-Einträge (TLS Certificate Association) hinzugefügt, die den Client über die Durchführung der DNS-Server-Verifizierung informieren.
  • In Qt Core wurde die Klasse QChronoTimer mit einer Überbindung zur Bibliothek std::chrono hinzugefügt, die eine höhere Zeitgenauigkeit bei Operationen ermöglicht. Zudem wurde die Möglichkeit implementiert, die Größe von QString, QByteArray und QList ohne Dateninitialisierung zu ändern. In QHash wurde die Unterstützung für die Speicherung von Daten mit den Typen QString und QStringView in einem Hash hinzugefügt. Im QDirListing wurde eine Iterator-basierte API zum Durchlaufen des Verzeichnisinhalts bereitgestellt.
  • In Qt GUI wurde die Möglichkeit hinzugefügt, die Einstellungen des systemweiten Farbschemas zu überschreiben, etwa um zwischen einem Dunkel- oder Hellmodus zu wählen, sowie um Aktionen zu konfigurieren, die ein Kontextmenü aufrufen.
  • Der Qt SQL-Treiber für die Datenbanken PostgreSQL und MySQL/MariaDB verarbeitet jetzt korrekt Zeiten und Daten, wenn beim Client und auf Server unterschiedliche Zeitzonen ausgewählt sind.
  • Qt WebEngine hat neue Klassen erhalten: QWebEngineFrame zur Arbeit auf der Ebene einzelner iframe-Blocks; QWebEngineClientHints zur Verwaltung der Browseridentifikation; QWebEnginePermission zur Steuerung der Zugriffsrechte in Bezug auf Websites.
  • In Qt Widgets wurde die Darstellung der Widgets auf Bildschirmen mit hoher Pixeldichte (High-DPI) verbessert.
  • Der Dokumentationsgenerator QDoc wurde von C API auf C++ API umgestellt, und für seine Ausführung wird jetzt mindestens Clang 17 benötigt. Neue Befehle wie „\keyword“ und „\nativetype“ wurden hinzugefügt.
  • Im Rahmen der Arbeiten zur Verbesserung der Stabilität und Leistung der LTS-Version wurden über 500 Korrekturen und Optimierungen vorgenommen.

Quelle: opennet.ru

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster