wurde das plattformübergreifende Framework . Die Quelltexte der Qt-Komponenten werden unter den Lizenzen LGPLv3 und GPLv2 bereitgestellt. Im Dezember wird ein neuer Branch von Qt 6 veröffentlicht, in dem erhebliche architektonische Änderungen enthalten sind. Um den zukünftigen Übergang zu Qt 6 zu erleichtern, sind in Qt 5.15 erste Implementierungen einiger Neuerungen enthalten, und Warnungen über die bevorstehende Einstellung der Unterstützung für Funktionen, die in Qt 6 entfernt werden sollen, wurden hinzugefügt.
Qt 5.15 wird als Long Term Support (LTS) Release eingestuft. In diesem Rahmen erhalten die Community-Updates für den Branch 5.15 nur bis zur Bildung der nächsten bedeutenden Version, also etwa für ein halbes Jahr. Der erweiterte LTS-Zyklus, der die Bildung von Updates über drei Jahre vorsieht, wird auf Nutzer mit kommerzieller Lizenz beschränkt sein (für reguläre Unternehmen — 5508 $ pro Jahr und Entwickler, für Startups und kleine Unternehmen — 499 $ pro Jahr). Die Qt Company hat auch Möglichkeit eines Umstiegs auf ein Vertriebsmodell für Qt in Betracht gezogen, bei dem alle Veröffentlichungen in den ersten 12 Monaten nur für Nutzer kommerzieller Lizenzen zugänglich sind. Diese Idee hat jedoch bisher nicht über Diskussionen hinausgeführt.
Haupt :
- Die Arbeit an der Entwicklung einer abstrahierten Grafik-API, die unabhängig von den 3D-APIs des Betriebssystems ist, wurde fortgesetzt. Ein Schlüsselerlebnis des neuen Grafikstacks von Qt ist die Szenen-Rendering-Engine, die eine RHI (Rendering Hardware Interface)-Schicht nutzt, um sicherzustellen, dass Qt Quick-Anwendungen nicht nur mit OpenGL, sondern auch über Vulkan-, Metal- und Direct3D-APIs betrieben werden können. In Version 5.15 wird der neue Grafikstack als Option mit dem Status „Technology Preview“ angeboten.
- Vollständige Unterstützung des Moduls gewährleistet. , von dem die experimentelle Entwicklungsbezeichnung entfernt wurde. Qt Quick 3D bietet eine einheitliche API zum Erstellen von Benutzeroberflächen basierend auf Qt Quick, die Elemente der 2D- und 3D-Grafik kombinieren. Die neue API ermöglicht die Verwendung von QML zur Definition von 3D-Elementen der Benutzeroberflächen, ohne dass das UIP-Format genutzt werden muss. In Qt Quick 3D können sowohl 2D- als auch 3D-Anwendungen zur Laufzeit (Qt Quick), ein Szenenlayout und ein Animationsframework verwendet werden, während für die visuelle Entwicklung der Benutzeroberfläche Qt Design Studio eingesetzt wird. Das Modul löst Probleme wie die hohen Overheadkosten bei der Integration von QML mit Inhalten aus Qt 3D oder 3D Studio und ermöglicht die Synchronisation von Animationen und Transformationen auf Einzelbildebene zwischen 2D und 3D.
Zu den neuen Funktionen, die in Qt Quick 3D hinzugefügt wurden, zählen die Unterstützung von Post-Processing-Effekten, die C++-API zur Steuerung der Geometrie, die auf der Klasse QQuaternion basierende Dreh-API und die Unterstützung von Punktlichtquellen. zur Bewertung der verschiedenen Möglichkeiten von Qt Quick 3D. eine spezielle Demoversion, die zeigt, wie man Lichtquellen und -arten ändern, komplexe Modelle verwenden, Texturen, Materialien und Glättung manipulieren kann. Gleichzeitig Veröffentlichung für die Benutzeroberflächenentwicklung mit Qt Design Studio 1.5, das vollständige Unterstützung für Qt Quick 3D bietet.

- In Qt QML wurde die Arbeit auf die Vorbereitung für Qt 6. Es wurde die Möglichkeit implementiert, Eigenschaften mit dem Attribut ‚required‘ in Komponenten anzuwenden, deren Einstellung obligatorisch ist. In der qmllint-Utility wurde die Warnmeldungsbildung zu möglichen Problemen im QML-Code verbessert. Die qmlformat-Utility wurde hinzugefügt, um die Formatierung des QML-Codes nach den empfohlenen Codierungsstandards zu erleichtern. Die QML-Kompatibilität mit der Qt-Edition für .
- In Qt Quick wurde dem Image-Element Unterstützung für Farbräume hinzugefügt. In Qt Quick Shapes wurde ein neues Element PathText hinzugefügt.
Im Pointer-Handler wurde die Eigenschaft cursorShape hinzugefügt, über die die Form des Mauszeigers in Desktop-Systemen geändert werden kann. Es wurde ein Element HeaderView hinzugefügt, das das Hinzufügen vertikaler und horizontaler Überschriften in Tabellen basierend auf TableView erleichtert. - Die Unterstützung für das Dekorieren von Fensterinhalten auf der Clientseite (CSD) wurde erheblich verbessert, sodass die Anwendung ihre eigenen Fensterdekorationsbestandteile definieren und beliebige Inhalte im Fensterkopf platzieren kann.
- Das Modul wurde stabilisiert , das eine erweiterte API für QML bereitstellt, um Grafiken und Animationen, die mit dem Bodymovin-Plugin aus Adobe After Effects exportiert wurden, zu rendern. Mit QtLottie kann der Designer Animationseffekte in seiner bevorzugten Anwendung vorbereiten, während der Entwickler exportierte Dateien direkt mit der Benutzeroberfläche seiner Anwendungen in QtQuick verbinden kann. QtLottie umfasst einen eingebauten Mikromotor für die Ausführung von Animationen, Zuschneiden, Layerverarbeitung und andere Effekte. Der Motor ist über das QML-Element LottieAnimation zugänglich, das wie andere QtQuick-Elemente aus QML-Code gesteuert werden kann.
- Die Browser-Engine Qt WebEngine wurde auf die Codebasis aktualisiert (in der Version 5.14 wurde Chromium 77 verwendet, die aktuelle Version ist ).
- Im Modul Qt 3D wurden die Profilierungs- und Debugging-Tools verbessert.
- In Qt Multimedia wurde die Unterstützung für das Rendering auf mehreren Oberflächen hinzugefügt.
- In Qt GUI werden Skalierungs- und Bildverarbeitungsoperationen nun in vielen Fällen multithreaded ausgeführt.
- In Qt Network wurde die Unterstützung für anpassbare Zeitüberschreitungen und in TLS 1.3 (Session Ticket, ermöglicht die Wiederaufnahme einer Sitzung, ohne den Status auf der Serverseite zu speichern).
- Die Möglichkeit zur Arbeit mit Qt Core, QRunnable und QThreadPool mit std::function wurde sichergestellt. Eine neue Methode QFile::moveToTrash() wurde hinzugefügt, um Elemente plattformgerecht in den Papierkorb zu verschieben.
- In Qt für Android wurde die Unterstützung für native Dialoge zum Öffnen und Speichern von Dateien hinzugefügt.
Quelle: opennet.ru

