Veröffentlichung des Qt 6.7-Frameworks und der Entwicklungsumgebung Qt Creator 13

Die Qt Company hat eine Veröffentlichung des Qt 6.7-Frameworks veröffentlicht, in der weiterhin an der Stabilisierung und Erweiterung der Funktionalität des Qt 6-Zweigs gearbeitet wird. Qt 6.7 bietet Unterstützung für die Plattformen Windows 10+, macOS 12+, Linux (Ubuntu 22.04, openSUSE). 15.5, SUSE 15 SP5, RHEL 8.8 /9.2, Debian 11.6), iOS 16+, Android 8+ (API 23+), webOS, WebAssembly, INTEGRITY, VxWorks, FreeRTOS und QNX. Der Quellcode für Qt-Komponenten wird unter den Lizenzen LGPLv3 und GPLv2 bereitgestellt.

Wesentliche Änderungen in Qt 6.7:

  • Verbesserte Unterstützung für die Verwendung von Code, der Elemente des C++20-Standards verwendet. Qt::{strong,weak,partial}_ordering-Klassen mit Implementierung von std::*_ordering-Typen hinzugefügt, die mit der C++17-Spezifikation kompatibel sind, sowie Makros, die sich beim Kompilieren durch Compiler in den Drei-Wege-Vergleichsoperator „“ erweitern die C++ 20 unterstützen (wenn der Compiler nur C++17 unterstützt, greifen Makros auf die Verwendung regulärer Operatoren zurück).

    Es ist möglich, die Klassenvorlage std::span zu verwenden, um eine zusammenhängende Folge von Objekten darzustellen, die für Systeme mit C++17 durch die Klasse QSpan ersetzt wird. Die Arbeit an der Implementierung der Unterstützung für die std::chrono-Bibliothek in verschiedenen Qt-APIs wurde fortgesetzt. Beispielsweise werden Zeitüberschreitungen in der Qt-Netzwerk-API jetzt mithilfe von std::chrono-Typen beschrieben und in Form von Literalen wie „5s“ angegeben, um 5 Sekunden anzugeben.

  • Die Entwicklung des experimentellen Qt-Graphs-Moduls, das für die Erstellung verschiedener Diagrammtypen und die Visualisierung großer Sammlungen sich schnell ändernder Daten konzipiert ist, wurde fortgesetzt. Das Modul wird als universeller Ersatz für das alte Qt DataVisualization-Modul, basierend auf OpenGL, und das Qt Charts-Modul entwickelt. Das neue Modul nutzt Qt Quick 3D und die Rendering-Engine RHI (Rendering Hardware Interface), die verschiedene 3D-APIs (OpenGL, Vulkan, Metal und Direct 3D) unterstützt. Zusätzlich zur 3D-Visualisierung bietet die neue Version Unterstützung für zweidimensionale Kreis- und Liniendiagramme sowie Streudiagramme. Die Integration mit in Qt Quick verfügbaren Animationstools und -effekten ist möglich. Unterstützung für Themen hinzugefügt. Die Architektur wurde modernisiert, um die Anzahl der Speicherzuweisungsvorgänge zu reduzieren.
    Veröffentlichung des Qt 6.7-Frameworks und der Entwicklungsumgebung Qt Creator 13
  • Für die Entwicklung von Clientanwendungen, die HTTP-basierte APIs und die REST-Architektur (REpresentational State Transfer) verwenden, wurden die neuen Klassen QHttpHeaders, QNetworkRequestFactory, QRestAccessManager und QRestReply hinzugefügt.
  • Die Fähigkeiten des Qt GRPC-Moduls wurden erweitert und ermöglichen den Zugriff auf gRPC-Dienste. Qt gRPC hat neue Klassen für clientseitige, serverseitige und bidirektionale Streaming-Aufrufe hinzugefügt, die einen automatischen Nachrichtenaustausch ermöglichen, wenn sich Werte ändern. Zum Anhängen von Callback-Handlern für ausgewählte gRPC-Nachrichten wurde eine Interceptor-API vorgeschlagen, die beispielsweise zum Organisieren von Protokollierung oder Caching verwendet werden kann.
  • Das Qt-Protobuf-Modul, das für die Serialisierung von Qt-Klassen mithilfe des Protocol Buffer-Protokolls entwickelt wurde, bietet nun die Möglichkeit zur Serialisierung in oder aus dem JSON-Format.
  • Das Qt SVG-Vektorgrafikmodul hat Unterstützung für SVG 1.1- und 2.0-Elemente hinzugefügt, die in der Praxis häufig in SVG-Bildern verwendet werden ( , , , Und ), wodurch die meisten SVG-Dateien angezeigt werden können. Für diejenigen, die volle Unterstützung für SVG 2.0 benötigen, empfehlen wir die Verwendung des Qt WebEngine-Moduls. Das Dienstprogramm „svgtoqml“ wurde hinzugefügt, um SVG in QML zu konvertieren und Vektorgrafiken direkt in das Qt Quick-Szenendiagramm zu importieren. Die Möglichkeit, das Qt Quick Shapes-Modul zum hochwertigen Zeichnen von Kurven mithilfe eines Fragment-Shaders zu verwenden, wurde stabilisiert.
  • Unterstützung für variable Schriftarten hinzugefügt, bei denen sich die Dicke, Breite und andere Stilmerkmale der Glyphe beliebig ändern können. Unterstützung für Symbolbibliotheken hinzugefügt. Bei Verwendung des QIcon::fromTheme-Aufrufs ist es möglich, den Symbolnamen mit einem Symbol in der Symbolbibliothek abzugleichen.
  • Es ist möglich, native Fenster der aktuellen Plattform in die Qt Quick-Szene einzubetten, wodurch Sie von der Plattform bereitgestellte Schnittstellenelemente in einer auf Qt Quick basierenden Schnittstelle verwenden können. Sie können beispielsweise AppKit MapView oder den Windows Media Player einbetten.
    Veröffentlichung des Qt 6.7-Frameworks und der Entwicklungsumgebung Qt Creator 13
  • Unterstützung für das Hinzufügen von Rendering-Code zu Anwendungen hinzugefügt, die auf Qt Quick oder Qt Widgets basieren, unter Verwendung einer beliebigen in Qt unterstützten Grafik-API (Vulkan, OpenGL, Direct3D, Metal). Das Hinzufügen erfolgt mithilfe der Klassen QRhiQuickItem und QRhiWidget.
  • Volle Unterstützung wird für die Plattformen macOS 14, iOS 17, Windows 11 23H2, Android 14, RHEL 9.2, openSUSE 15.5, SUSE Linux Enterprise Server 15 geboten. Es wurden Assemblies für Windows hinzugefügt, kompiliert mit dem MinGW-Toolkit auf Basis von LLVM. Vorschau-Builds für die ARM-Architektur (für Windows und Linux), für die VxWorks 7-Plattform und für QNX 7.1 hinzugefügt.
  • Der Boot2Qt-Stack wurde aktualisiert, mit dem bootfähige mobile Systeme mit einer Umgebung basierend auf Qt und QML erstellt werden können. Die Systemumgebung in Boot2Qt wurde auf die Yocto 4.3-Plattform aktualisiert.
  • Neue Beispielanwendungen wurden hinzugefügt. Lightning Viewer-Beispiel mit Qt Location und Qt Quick Controls zur Visualisierung von Gewitterdaten auf einer Karte. Neue OSM Buildings-Demo mit Qt Quick 3D, Qt Positioning und Qt Network zur Erstellung einer 3D-Gebäudekarte basierend auf Informationen von OpenStreetMap. Das Beispiel des virtuellen Assistenten demonstriert die Möglichkeiten der Arbeit mit 3D-Animationen. Das Beispiel für volumetrisches Rendering zeigt, wie 3D-Texturen in Qt Quick 3D für volumetrisches Raytracing verwendet werden. Das StocQt-Beispiel wurde komplett neu gestaltet und verwendet Qt Graphs zur Anzeige von Börsendaten.
    Veröffentlichung des Qt 6.7-Frameworks und der Entwicklungsumgebung Qt Creator 13

Darüber hinaus können wir die Veröffentlichung der integrierten Entwicklungsumgebung Qt Creator 13.0 erwähnen, die für die Erstellung plattformübergreifender Anwendungen mithilfe der Qt-Bibliothek konzipiert ist. Es unterstützt sowohl die Entwicklung klassischer Programme in C++ als auch die Verwendung der QML-Sprache, in der JavaScript zur Definition von Skripten verwendet wird und die Struktur und Parameter von Schnittstellenelementen durch CSS-ähnliche Blöcke festgelegt werden. Es wurden fertige Baugruppen für Linux, Windows und MacOS erstellt.

In der neuen Version:

  • Offline- und Online-Installationsprogramme für ARM-Systeme mit Linux hinzugefügt.
  • Die Benutzeroberfläche „Willkommen bei Qt Creator“ wurde aktualisiert und bietet jetzt Unterstützung für dunkle und helle Themen.
    Veröffentlichung des Qt 6.7-Frameworks und der Entwicklungsumgebung Qt Creator 13
  • Verbesserte Schnittstelle zum Verschieben von Panels, die im Debugging-Modus verwendet werden, und zum Erstellen von Widgets (Widget Designer). Unterstützung für vorübergehendes Zusammenklappen vertikaler Paneele hinzugefügt. Es ist möglich, Panels an ihren Kopfzeilen frei zu verschieben, ohne sie vorher abzudocken.
    Veröffentlichung des Qt 6.7-Frameworks und der Entwicklungsumgebung Qt Creator 13
  • Unterstützung für das Erstellen, Bereitstellen, Ausführen und Debuggen von Anwendungen für Geräte hinzugefügt, die Qt Application Manager verwenden (für Anwendungen, die auf Qt 6 und CMake basieren).
  • Teilweise Unterstützung für iOS 17 hinzugefügt.
  • Das Standard-Build-Verzeichnis wurde so geändert, dass nun das Unterverzeichnis „build“ im Projektcode verwendet wird. Sie können das Build-Verzeichnis mithilfe der Einstellung „Einstellungen > Erstellen und Ausführen > Standard-Build-Eigenschaften > Standard-Build-Verzeichnis“ ändern.
  • Im Projektmodus wurde ein Abschnitt „Verschwundene Ziele“ hinzugefügt, der Kits (Links zu verschiedenen Build-Tools und Versionen von Qt) anzeigt, die nicht mehr verfügbar sind, und die Möglichkeit bietet, einen Ersatz zu erstellen oder ihn beim Erstellen, Bereitstellen und Verwenden zu verwenden Ausführen eines anderen vorhandenen Kits.
  • Es ist möglich, Kits für Projekte in der Python-Sprache zu erstellen (um eine andere Version des Interpreters auszuwählen).
  • Es wurde die Möglichkeit hinzugefügt, LSP-Server (Language Server Protocol) für YAML, JSON und Bash zu verwenden.
  • Der Code-Editor bietet Unterstützung für die Navigation von QML-Komponenten zu ihrem zugehörigen C++-Code.
  • Die ClangFormat-Einstellungen wurden neu organisiert. Zur Änderung eigener Einstellungen steht ein Texteditor mit Syntaxprüfung zur Verfügung.
    Veröffentlichung des Qt 6.7-Frameworks und der Entwicklungsumgebung Qt Creator 13

Source: opennet.ru

Kommentar hinzufügen