Cross-Plattform: Qt 6.1 holt weitere Module in die 6er-Reihe

Die Beta des Cross-Plattform-Frameworks hat unter anderem Qt Data Visualization, Qt Lottie und Active Qt an Bord, teilweise jedoch noch eingeschränkt.

In Pocket speichern vorlesen Druckansicht 72 Kommentare lesen

(Bild: Andrey Suslov/Shutterstock.com)

Lesezeit: 3 Min.
Von
  • Rainald Menge-Sonnentag
Inhaltsverzeichnis

Die Qt Company hat die erste Beta von Qt 6.1 veröffentlicht. Mit den Aktualisierungen schließt die 6-er Reihe des Cross-Plattform-Frameworks zu Qt 5.x auf. Die Entwickler haben zahlreiche Module portiert, die in Qt 6.0 fehlten, darunter Qt Data Visualization, Qt Device Utilities, Active Qt und Qt Lottie. Allerdings sind einige Module derzeit nur eingeschränkt umgesetzt.

Die Ergänzung der Module soll das Portieren weiterer Qt-5-Anwendungen auf Qt 6 ermöglichen beziehungsweise vereinfachen. Die Qt Company hatte das im Dezember 2020 veröffentlichte Qt 6.0 als unvollständigen Ausgangspunkt für die nächste Qt-Generation bezeichnet und angekündigt, die Lücken im Vergleich zu 5.x innerhalb der nächsten Monate zu füllen.

Das Release bringt zwei Komponenten zur Visualisierung von Daten mit: Qt Charts und Qt Data Visualization. Allerdings können beide Module noch nicht den vollen Umfang des neuen Rendering Hardware Interface (RHI) nutzen. Letzteres ist die neu eingeführte allgemeine Abstraktionsebene für 3D-Grafik, die anders als Qt 5 nicht nur eine Anbindung an OpenGL, sondern zusätzlich an Vulkan, Metal und Direct 3D bietet.

Die nun portierten Visualisierungsmodule setzen jedoch zunächst ausschließlich auf OpenGL für die Grafikbeschleunigung. Für Qt Data Visualization muss dazu die Umgebungsvariable QSG_RHI_BACKEND den Wert opengl haben. Analog dazu stellt Qt Quick Qt-Charts-Elemente nur dar, wenn OpenGL als Renderer ausgewählt ist.

Daneben bringt die Beta die aus 5.x portierten Module Qt Lottie, Qt Virtual Keyboard und Qt Device Utilities mit. Letztere sind jedoch derzeit auf Netzwerkfunktionen beschränkt. Das Paket Qt State Machines für endliche Automaten fasst die bisher separaten Module Qt StateMachine und Qt SCXML zusammen. Mit Letzterem lassen sich in State Chart XML (SCXML) definierte Zustandsautomaten in Qt-Anwendungen einbetten.

Das ebenfalls portierte Active Qt bietet eine Anbindung an ActiveX und COM unter Windows. Qt-Anwendungen können darüber sowohl auf andere ActiveX Controls und COM-Objekte zugreifen als auch als COM-Server eigene Objekte bereitstellen.

Einige bereits in Qt 6.0 implementierte Module haben in 6.1 einige Neuerungen an Bord. Das zentrale Modul QtCore erweitert unter anderem QFuture und die QStringView-API. Außerdem lassen sich die Methoden removeIf() und erase_if() neuerdings unter bestimmten Voraussetzungen für QHash, QMap, QSet, QString, QByteArray, QList und QVarLengthArray verwenden.

Nennenswert ist noch, dass QNetworkCookie im Modul QtNetwork neuerdings das Attribut SameSite kennt. Schließlich findet sich in Qt Quick3D die als Instanced Rendering bezeichnete Vorgehensweise, die Darstellung mehrerer Instanzen desselben Objekts zu optimieren. Derzeit ist sie ebenso noch als Technical Preview gekennzeichnet wie die 3D-Particles-API für Partikelsysteme, die noch nicht Feature-complete ist.

Alle Beta-Releases werden ausschließlich über den Online-Installer des Frameworks verfügbar sein. Das endgültige Release von Qt 6.1 soll im April erscheinen. Weitere Details lassen sich dem Qt-Blog entnehmen.

(rme)