Das Unternehmen Qt Company hat die Version 6.3 des Frameworks Qt veröffentlicht, die die Stabilisierung und den Funktionsausbau der Qt 6-Reihe fortsetzt. Qt 6.3 bietet Unterstützung für die Plattformen Windows 10, macOS 10.14+, Linux (Ubuntu 20.04, CentOS 8.2, openSUSE 15.3, SUSE 15 SP2), iOS 13+, Android 6+ (API 23+), webOS, INTEGRITY und QNX. Der Quellcode der Qt-Komponenten wird unter den Lizenzen LGPLv3 und GPLv2 bereitgestellt.
Wesentliche Änderungen in Qt 6.3:
- Im Qt QML-Modul wurde eine experimentelle Implementierung des Compilers qmltc (QML Type Compiler) vorgeschlagen, die es ermöglicht, QML-Objektstrukturen in C++-Klassen zu kompilieren. Für kommerzielle Nutzer wurde das Produkt Qt Quick Compiler vorbereitet, das neben dem oben genannten QML Type Compiler auch den QML Script Compiler umfasst, mit dem Funktionen und Ausdrücke in QML in C++-Code kompiliert werden können. Es wird darauf hingewiesen, dass die Verwendung des Qt Quick Compiler die Leistung von QML-basierten Programmen an die von nativen Anwendungen annähern kann, insbesondere wird bei der Kompilierung von Erweiterungen eine Verkürzung der Start- und Ausführungszeit um etwa 20-35% im Vergleich zur Verwendung der interpretierten Variante festgestellt.

- Das Modul „Qt Language Server“ wurde mit Unterstützung für die Protokolle Language Server und JsonRpc 2.0 implementiert.
- Im Qt Wayland Compositor-Modul wurde ein Kompositorelement hinzugefügt. Server Qt Shell und API zur Erstellung eigener Erweiterungen der Benutzeroberfläche.
- In Qt Quick Controls wurden die QML-Typen CalendarModel und TreeView integriert, die Schnittstellen zur Anzeige von Kalenderdaten und zur Darstellung von Informationen in baumartiger Form bieten.


- Im Qt Quick Dialogs-Modul wurden die QML-Typen MessageDialog und FolderDialog hinzugefügt, um die von der Plattform bereitgestellten Systemdialoge zur Anzeige von Nachrichten und zur Dateinavigation zu nutzen.

- In Qt Quick wurde die Leistung und Effizienz der Arbeit mit Texten verbessert. Beispielsweise wurden Probleme mit der Verlangsamung der Darstellung und dem hohen Speicherverbrauch beim Übertragen sehr großer Dokumente in die Komponenten Text, TextEdit, TextArea und TextInput gelöst.
- Im Qt Quick 3D-Modul wurde das QML-Element ReflectionProbe hinzugefügt, um Reflexionen von Objekten zu rendern. Die API für 3D Particles wurde erweitert, um in 3D-Szenen Effekte durch große Ansammlungen von Partikeln (Rauch, Nebel usw.) hinzuzufügen. Ein neues Element ResourceLoader wurde implementiert, das Funktionen zur Verwaltung von Ressourcen in Qt Quick 3D bereitstellt und eine vorzeitige Ladeoption für große Ressourcen wie Meshes oder Texturen ermöglicht sowie die Möglichkeit bietet, die Freigabe von Ressourcen, die nicht in den sichtbaren Bereich der Szene fallen, zu steuern.

- Eine vorläufige Implementierung des Qt PDF-Moduls wurde hinzugefügt, das in Qt 5.15 vorhanden war, aber nicht in Qt 6 aufgenommen wurde.

- Das Qt Core-Modul hat eine große Anzahl neuer Funktionen erhalten, hauptsächlich zur Erweiterung der Möglichkeiten zur Verarbeitung von Zeichenfolgen. In QLocale wurde die Unterstützung für ISO639-2 Sprachcodes hinzugefügt. In QDate, QTime und QLocale wurde die Unterstützung für AM/PM-Zeitformatbezeichner hinzugefügt. Die Umwandlung zwischen JSON- und CBOR-Formaten wurde vereinfacht. Die Methoden QtFuture::whenAll() und whenAny() wurden hinzugefügt.
- In Qt Positioning wurde die Möglichkeit zur Bestimmung der Genauigkeit der von den Plattformen Android und iOS bereitgestellten Standortdaten eingeführt.
- In Qt Bluetooth wurden Informationen über die Unterstützung von Bluetooth LE und den Status des Bluetooth-Adapters unter Windows bereitgestellt.
- In Qt Widgets wurde die Unterstützung für hochauflösende Bildschirme, Stile und die Änderung des Designs durch Stilvorlagen verbessert.
- Das CMake-basierte Build-System wurde verbessert. Die Funktion qt-generate-deploy-app-script() wurde hinzugefügt, um die Generierung von Skripten für die Bereitstellung von Anwendungen auf verschiedenen Plattformen zu vereinfachen.
- Es wurden umfassende Arbeiten zur Verbesserung der Stabilität und Qualität des Codes durchgeführt. Im Vergleich zur Veröffentlichung von Qt 6.2 wurden 1750 Fehlerberichte geschlossen.
- In den kommenden bedeutenden Veröffentlichungen von Qt 6.x ist die vollständige Unterstützung von WebAssembly, QHttpServer, gRPC, einem Backend für Qt Multimedia basierend auf FFmpeg, Qt Speech und Qt Location geplant.
Quelle: opennet.ru






