Die Veröffentlichung des Frameworks Qt 6.6

Das Unternehmen Qt Company hat die Veröffentlichung des Frameworks Qt 6.6 bekannt gegeben, in dem die Arbeit an der Stabilisierung und Erweiterung der Funktionalität des Qt 6-Zweigs fortgesetzt wurde. In Qt 6.6 wird Unterstützung für die Plattformen Windows 10+, macOS 11+, Linux (Ubuntu 22.04, openSUSE 15.4, SUSE 15 SP4, RHEL 8.6/9.0), iOS 14+, Android 8+ (API 23+), webOS, WebAssembly, INTEGRITY und QNX bereitgestellt. Der Quellcode der Qt-Komponenten wird unter den Lizenzen LGPLv3 und GPLv2 geliefert.

Wesentliche Änderungen in Qt 6.6:

  • Im Modul Qt Quick wurde experimentelle Unterstützung für die adaptive Anordnung der Benutzeroberfläche implementiert. Um die Anordnung der Benutzeroberfläche dynamisch basierend auf der Fenstergröße zu ändern und Elemente unter Berücksichtigung der Struktur der aktuellen Anordnung automatisch zu platzieren, wurde die Klasse LayoutItemProxy vorgeschlagen. Im Modul Qt Quick Layouts wurde die Möglichkeit geschaffen, einheitliche Zellengrößen für Anordnungen mit Gitter-, Zeilen- und Spaltenanordnung zu verwenden.
    Die Veröffentlichung des Frameworks Qt 6.6
  • In Qt Quick wurde Unterstützung für Auswahlmodi (Auswahlmodus-Eigenschaft) im QML-Typ TableView hinzugefügt (z. B. kann die Auswahl von Zellen, Zeilen, Spalten und Zellensets verwaltet werden). Es wurde die Möglichkeit geschaffen, die Eigenschaft rootIndex zu ändern. Im QML-Typ TreeView wurde die Steuerung des Erscheinungsbilds der Bildlaufleisten (scroll-deceleration) im QML-Typ Flickable erweitert, und es wurde eine automatische Verkürzung von Dateipfaden implementiert. Der Zugriff aus QML auf die API zur Berechtigungsverwaltung wurde ermöglicht.
  • Ein experimentelles Modul Qt Graphs wurde hinzugefügt, das darauf abzielt, ein universelles Modul für die Visualisierung großer Sammlungen schnell wechselnder Daten und den Aufbau verschiedener Arten von Diagrammen bereitzustellen. Das Modul entwickelt sich als universeller Ersatz für das alte Modul Qt DataVisualization, das an OpenGL gebunden war, sowie für das Modul Qt Charts. Das Modul befindet sich noch in der Entwicklung und konzentriert sich derzeit auf die Reproduktion der Funktionalität von Qt DataVisualization über Qt Quick 3D und die Verwendung einer neuen Rendering-Engine (RHI, Rendering Hardware Interface), die verschiedene 3D-APIs (OpenGL, Vulkan, Metal und Direct 3D) unterstützt.
    Die Veröffentlichung des Frameworks Qt 6.6
  • Im Modul Qt Multimedia wurde die Klasse QWindowCapture hinzugefügt, um den Inhalt einzelner Fenster zu erfassen. Dies ergänzt die im letzten Release eingeführte Klasse QScreenCapture, die auf das Erfassen des gesamten Bildschirms beschränkt war. QWindowCapture ermöglicht es, eine Liste der Fenster zu erhalten, die zur Erfassung verfügbar sind, und kann in Anwendungen verwendet werden, um den Zugriff auf Fenster zu ermöglichen. Die Fenster- und Bildschirmaufnahme wird beim Einsatz des FFmpeg-Backends auf allen Plattformen unterstützt, mit Ausnahme von Systemen, die das Wayland-Protokoll verwenden.
  • In die Klasse QMediaRecorder wurden Eigenschaften zur Steuerung der Videoqualität, der Auflösung und der Bitrate hinzugefügt.
  • Die Funktionen der Module Qt GRPC und Qt Protobuf wurden erweitert, die es ermöglichen, auf gRPC-Dienste zuzugreifen und Qt-Klassen unter Verwendung des Protocol Buffer-Protokolls zu serialisieren. In Qt GRPC wurden neue Optionen wie QGrpcChannelOptions und QGrpcCallOptions hinzugefügt, um die Konfiguration von Kanälen und Aufrufen zu erleichtern und um die maximalen Ausführungszeiten für einen Aufruf oder einen Stream zu begrenzen. Es wurde die Option QGrpcMetadata hinzugefügt, um Metadaten vom Client festzulegen und die zurückgegebenen Metadaten zu lesen. Server. In Qt GRPC wurde die Unterstützung des QML-Typs für die automatische Generierung von Clientklassen QtGRPC integriert. In Qt Protobuf wurde die Einbeziehung bestimmter Typen von Qt Core und Qt GUI in das *.proto-Schema erlaubt, zudem wurde die Möglichkeit geschaffen, auf QML-Kontexte über die Klassen QProtobufMessage zuzugreifen. Unterstützung für die Typen google.protobuf.Any und oneof wurde hinzugefügt.
  • Im Modul Qt WebEngine wurde eine API zum Zugriff auf Datenschutz- und Sicherheits Einstellungen hinzugefügt, die das Deaktivieren bestimmter Funktionen des Browser-Engines ermöglicht. Zum Beispiel können mithilfe der Attribute QWebEngineUrlScheme::FetchApiAllowed und QWebEngineSettings::DisableReadingFromCanvas die Fetch-API und die Zeichnung von Canvas-Elementen deaktiviert werden, um das Risiko der passiven Identifizierung zu verringern. Unterstützung für die interne URL "chrome://qt" wurde hinzugefügt, die eine Seite mit Informationen zur verwendeten Version der Chromium-Engine anzeigt.
  • Im Modul Qt Sql wurde ein Plugin mit Unterstützung für die DBMS Mimer SQL hinzugefügt, und die Verbindungseinstellungen im Treiber für die DBMS MySQL und MariaDB wurden erweitert.
  • Im Modul Qt PDF wurden Klassen für den Zugriff auf Links, Seitenminiaturen und ausgewählte Seiten bereitgestellt.
  • In Qt Quick wurde eine neue API für die erweiterte Anpassung der Glyphenkomposition (Shaping) in OpenType-Schriftarten im Schriftarttyp Font implementiert. Es gibt die Möglichkeit, das Qt Quick Shapes-Modul für die hochwertige Darstellung von Linien und Kurven mit einem Fragment-Shader zu verwenden.
    Die Veröffentlichung des Frameworks Qt 6.6
  • Die Dokumentation der Rendering-Engine RHI (Rendering Hardware Interface) wurde überarbeitet, ebenso wie die Stabilisierung des zugehörigen Low-Level-APIs. Das Maß an rückwärtskompatibler Unterstützung für RHI wird jetzt dem API von Qt Platform Abstraction entsprechen, was es ermöglicht, RHI direkt für die Entwicklung plattformübergreifenden Low-Level-Codes zu verwenden, der mit allen gängigen Grafik-Stacks und Grafik-APIs (OpenGL, Vulkan, Metal und Direct 3D) arbeitet.
  • Modul Qt Quick 3D hat die Unterstützung für die prozedurale Erstellung von Texturen und Geometrien auf Basis von Polygonnetzen aus QML erhalten.
  • Im Modul Qt TextToSpeech wurde die Möglichkeit hinzugefügt, PCM-Daten (Pulse-Code Modulation) für die weitere Verarbeitung synthetisierter Sprache zu generieren (zuvor wurde nur eine direkte Ausgabe an das Audiogerät unterstützt). Zusätzliche Einstellungen für die Textsegmentierung wurden bereitgestellt, APIs zur Suche nach benötigten Stimmen und API zur Bestimmung der verfügbaren Funktionen des Engines wurden hinzugefügt.
  • Das Modul ‚Qt for Python‘, das Werkzeuge zur Erstellung grafischer Anwendungen in Python unter Verwendung von Qt bereitstellt, hat die Unterstützung für asynchrone Operationen mit asyncio erhalten. Die Kompatibilität von Qt for Python mit Geräten auf AArch64-Architektur wurde sichergestellt.
  • Der Boot2Qt-Stack wurde aktualisiert, der zur Erstellung von bootfähigen mobilen Systemen mit einer auf Qt und QML basierenden Umgebung verwendet werden kann. Die Systemumgebung in Boot2Qt wurde auf die Yocto-Plattform 4.2 (Mickledore) aktualisiert. Es wird an der Bereitstellung funktionsfähiger Boot2Qt-Bauten für NXP-Plattformen und Renesas R-Car-Geräte gearbeitet.
  • Unterstützung für die Plattform Android 13 wurde hinzugefügt. Auf den Plattformen Windows und Linux wurde die Unterstützung für die ARM-Architektur verbessert. In Zusammenarbeit mit den Betreuern des Debian-Projekts wurden Pakete mit Qt 6 für Debian 11 und Debian 12 in den offiziellen Repositories des Distributors bereitgestellt, während im Repository der Qt Company Pakete mit kommerziellen Komponenten Qt 6.6 für Debian verfügbar sind.
  • Die Entwicklungswerkzeuge für die WebAssembly-Plattform wurden verbessert, sodass Qt-Anwendungen erstellt werden können, die im Webbrowser laufen und zwischen verschiedenen Hardwareplattformen portierbar sind. Anwendungen, die für die WebAssembly-Plattform kompiliert werden, bieten dank JIT-Kompilierung eine nahezu native Leistung und können Qt Quick, Qt Quick 3D und die in Qt verfügbaren Visualisierungstools nutzen. In der neuen Version wurde die Fehlersuche für Anwendungen auf WebAssembly vereinfacht und die Unterstützung dieser Plattform durch die Implementierung von dynamischem Linking verbessert (Anwendungen für WebAssembly können jetzt mit Qt-Bibliotheken und -Plugins geliefert werden).

    Quelle: opennet.ru
60GB SSD 8Gb DDR4