/Qt 5.10 erweitert die Steuerelemente und setzt auf Vulkan

Qt 5.10 erweitert die Steuerelemente und setzt auf Vulkan

Qt 5.10 erweitert die Steuerelemente und setzt auf Vulkan

Das aktuelle Qt-Release ist das erste, das mit Vulkan zusammenarbeitet. Außerdem lassen sich Qt Quick Controls 2 individuell mit grafischen Vorlagen gestalten, und Qt Quick lernt Multi-Touch-Gesten.

Nach einer knapp zweimonatigen Betaphase hat das Qt-Team nun Version 5.10 der C++ Klassenbibliothek veröffentlicht. Zu den Neuerungen gehören einige Erweiterungen der Qt Quick Controls 2, die nun eine einfache Möglichkeit bieten, Grafiken direkt als Steuerelemente darzustellen. Qt Quick bringt ein Plug-in zum Einfügen beliebiger Formen und Klassen zum Behandeln von Mulit-Touch-Gesten. Nicht zuletzt hat Qt 5.10 nun sogenannte Vulkan Enablers, die eine Schnittstelle zum OpenGL-Nachfolger der Khronos Group an Bord.

Qt 5.10 bringt dazu einige Klassen, deren Namen mit QVulkan starten. Die Basis ist die Instanz QVulkanInstance. Sollte das Erstellen mit QVulkanInstance::create() fehlschlagen und false zurückliefern, bietet das System zur Laufzeit keine Vulkan-Schnittstelle. Die QVulkan-Klassen bieten einen plattformübergreifenden Zugang direkten zur Vulkan-API, sind aber explizit keine zusätzliche Abstraktionsschicht. Außerdem ist der Zugriff derzeit begrenzt: QWindows können mit den QWidget-basierten UIs in derselben Art kombiniert werden wie mit OpenGL-basierten Fenstern. Allerdings lassen sich einige Module noch nicht mit Vulkan-Rendering kombinieren, darunter Qt Quick, Qt 3D und Qt Canvas 3D.

Die Qt Quick Controls 2 bieten nun zwei neue Stiltypen: Imagine Style baut direkt auf Grafiken auf, und Fusion Style orientiert sich stilistisch an der Zielplattform. Für ersteren Stil automatisiert Qt die Integration der passenden Elemente durch entsprechende Dateinamen. Designer legen fest, wie sich die Elemente bei der Größenänderung verhalten und finden zu Qt 5.10 Asset-Vorlagen für Photoshop, Illustrator und Sketch. Außerdem enthalten die Qt Quick Controls 2 die neuen Elemente Action, ActionGroup und MenuBar.


Die Stile Imagine und Fusion für Qt Quick Controls 2.

Die Stile Imagine und Fusion für Qt Quick Controls 2.

Qt Quick bekommt in Version 5.10 der Klassenbibliothek ein Shapes-Plug-in, über das sich beliebige Formen in Szenen integrieren lassen. Außerdem verbessern die Qt Quick Pointer Handlers den Umgang mit Multi-Touch. Die meisten davon haben selbsterklärende Namen wie der PinchHandler, der DragHandler oder der TapHandler. Darüber hinaus gibt es einen MultiPointHandler, der als abstrakte Grundlage für das Behandeln von Multi-Touch-Events dient.

Auch Qt 3D bringt einige Neuerungen, die Qt wohl vor allem der Zusammenarbeit mit KDAB zu verdanken hat. Neben neuen Knotentypen gibt es nun die Möglichkeit, Inhalte aus Qt 3D in Qt Quick Scene einzubetten. Grundsätzlich hat das Qt-3D-Team derzeit aber weniger neue Features im Sinn und will sich stattdessen auf eine Verbesserung der Performance und eine Verringerung des Speicherbedarfs konzentrieren.

Einige Neuerungen sind vor allem im Embedded-Umfeld interessant. So hat die virtuelle Tastatur einige neue Sprachen inklusive Handschrifterkennung an Bord, unter anderem Arabisch, Chinesich, Japanisch und Koreanisch. Neue Layouts bringt Qt Virtual Keyboard 2.3 unter anderem für Hebräisch, Griechisch und Ungarisch. Außerdem lässt sich die Tastatur nun passend zum Nutzerinterface skalieren, und sie unterstützt beim Schreiben mit Wortvorschlägen und eine Vorschau für Zeichen und Alternativen dazu.

Das auf den Automatisierungssektor ausgerichtete Qt for Automation, das die Qt Company im August vorgestellt hatte, arbeitet auch mit Qt 5.10 zusammen, sodass sich nun unter anderem das im Internet der Dinge verbreitete MQTT-Protokoll verwenden lässt.

Auch im Kernpaket Qt Core gibt es einige nennenswerte Neuerungen. So ist die QStringView-Klasse ein Pendant zu std::string_view aus der Standardbibliothek. Zwar fehlen noch einige const-Funktionen, aber die will die Qt Company in Qt 5.11 nachreichen. Als weitere Ergänzungen enthält QtCore den Zufallszahlengenerator QRandomGenerator und einen KeyValueIterator.

Das Modul Qt Netwok Authorization, das Autorisierung über das Protokoll OAuth (Open Authorization) in Version 1 und 2 bietet, hat nun ebenso die Preview-Phase verlassen wie das Sprachsynthesemodul Qt Speech, das erstmals in Qt 5.8 in der Bibliothek enthalten war. Beide Module sind nun als vollwertige Pakete Bestandteil von Qt 5.10

Weitere Details lassen sich dem Blogbeitrag entnehmen, der es nicht auslässt zunächst das frisch erschienene Qt 3D Studio zu bewerben, das mit der eigentlichen Klassenbibliothek nur am Rande zu tun hat.


(rme)