Release des plattformübergreifenden Frameworks . Die Originaltexte der Qt-Komponenten werden unter den Lizenzen LGPLv3 und GPLv2 bereitgestellt. Im Dezember wird ein neuer Zweig von Qt 6 veröffentlicht, in dem Um den zukünftigen Übergang zur Qt 6-Zweigs zu erleichtern, wurden in Qt 5.15 erste Implementierungen einiger Neuerungen aufgenommen und Warnungen über die bevorstehende Einstellung der Unterstützung für Funktionen hinzugefügt, die in Qt 6 entfernt werden sollen.
Qt 5.15 gehört zu den Versionen mit langfristigem Support (LTS). Dabei werden für die Community Updates der Version 5.15 nur bis zur Bildung einer neuen nennenswerten Veröffentlichung, d.h. etwa ein halbes Jahr. Der erweiterte LTS-Zyklus, der die Bereitstellung von Updates über drei Jahre hinweg vorsieht, wird auf Nutzer mit einer kommerziellen 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 Neuerungen in Qt 5.15
Haupt- :
- die Arbeit an der Schaffung einer abstrahierten grafischen API, die unabhängig von der 3D-API des Betriebssystems ist, fortgesetzt. Ein Schlüsselkomponente des neuen grafischen Stacks von Qt ist die Rendering-Engine, die eine RHI (Rendering Hardware Interface) Schicht verwendet, um die Ausführung von Qt Quick-Anwendungen nicht nur mit OpenGL, sondern auch über die APIs Vulkan, Metal und Direct 3D zu ermöglichen. In 5.15 wird der neue grafische Stack als Option mit dem Status „Technology Preview“ angeboten.
- vollständige Unterstützung des Moduls gewährleistet , von dem das Zeichen der experimentellen Entwicklung entfernt wurde. Qt Quick 3D bietet eine einheitliche API zur Erstellung 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 in Benutzeroberflächen, ohne das UIP-Format zu verwenden. In Qt Quick 3D kann sowohl für 2D als auch für 3D dieselbe Runtime (Qt Quick), dasselbe Szenenlayout und dasselbe Animationsframework verwendet werden, während für die visuelle Entwicklung der Benutzeroberfläche Qt Design Studio eingesetzt wird. Das Modul löst Probleme wie hohe Overheadkosten bei der Integration von QML mit Inhalten aus Qt 3D oder 3D Studio und bietet die Möglichkeit, Animationen und Transformationen auf der Ebene einzelner Frames zwischen 2D und 3D zu synchronisieren.
Zu den neuen Möglichkeiten, die Qt Quick 3D hinzugefügt wurden, gehören die Unterstützung von Post-Processing-Effekten, eine C++-API zur Steuerung der Geometrie, eine Dreh-API basierend auf der Klasse QQuaternion und die Unterstützung von Punktlichtquellen. Um verschiedene Möglichkeiten von Qt Quick 3D zu bewerten, wurde eine spezielle Demoversion erstellt, die zeigt, wie man Lichtarten und -quellen ändern, komplexe Modelle verwenden, Texturen, Materialien und Glättung manipulieren kann. Gleichzeitig Release zur Gestaltung der Benutzeroberfläche Qt Design Studio 1.5, das vollständige Unterstützung für Qt Quick 3D bietet.

- In Qt QML wurde die Arbeit für die Vorbereitung auf Qt 6. Es wurde die Möglichkeit implementiert, in Komponenten Eigenschaften mit dem Attribut 'required' zu verwenden, deren Festlegung obligatorisch ist. Im Tool qmllint wurde die Erstellung von Warnungen zu möglichen Problemen im QML-Code verbessert. Ein Tool namens qmlformat wurde hinzugefügt, das das Formatieren von QML-Code gemäß den Codierungsrichtlinien vereinfacht. Die Kompatibilität von QML mit der Qt-Edition wurde sichergestellt. .
- In Qt Quick wurde im Element Image die Unterstützung für Farbräume hinzugefügt. In Qt Quick Shapes wurde ein neues Element PathText hinzugefügt.
Im Zeiger-Handler wurde die Eigenschaft cursorShape hinzugefügt, über die man die Form des Cursors auf Desktop-Systemen ändern kann. Ein neues Element HeaderView wurde hinzugefügt, um das Hinzufügen von vertikalen und horizontalen Überschriften in Tabellen, die auf TableView basieren, zu vereinfachen. - Die Unterstützung für die Dekoration von Fenstern auf der Client-Seite (CSD) wurde erheblich verbessert, was es der Anwendung ermöglicht, eigene Fensterdesign-Elemente zu definieren und beliebige Inhalte in der Fensterüberschrift zu platzieren.
- Das Modul wurde stabilisiert , das eine erweiterte API für QML bereitstellt, die das Rendern von Grafiken und Animationen im JSON-Format ermöglicht, die mit dem Bodymovin-Plugin für das Adobe After Effects-Paket exportiert wurden. Mit QtLottie kann der Designer Animationseffekte in einer für ihn passenden Anwendung vorbereiten, während der Entwickler die exportierten Dateien direkt an die Benutzeroberfläche von Anwendungen in QtQuick anschließen kann. QtLottie enthält einen integrierten Mikromotor zur Ausführung von Animationen, zum Zuschneiden, zur Verarbeitung von Ebenen und weiteren Effekten. Der Motor ist über das QML-Element LottieAnimation zugänglich, das aus QML-Code ähnlich wie andere QtQuick-Elemente 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 Profile- und Debugging-Tools verbessert.
- In Qt Multimedia wurde die Unterstützung für das Rendern auf mehrere Oberflächen hinzugefügt.
- In Qt GUI werden Skalierungs- und Bildtransformationsoperationen jetzt in vielen Fällen im Mehrbenutzermodus ausgeführt.
- In Qt Network wurde die Unterstützung für anpassbare Timeouts und in TLS 1.3 (Session Ticket, ermöglicht es, die Sitzung ohne Speicherung des Status auf der Serverseite wieder aufzunehmen) hinzugefügt.
- Es wurde die Möglichkeit geschaffen, dass Qt Core, QRunnable und QThreadPool mit std::function arbeiten. Eine neue Methode QFile::moveToTrash() wurde hinzugefügt, um Elemente unter Berücksichtigung der Besonderheiten verschiedener Plattformen 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

