Was ist neu in Qt 6.1

Neue und wiederhergestellte Module in Qt 6.1

Qt 6.1 fügt die folgenden Module hinzu:

Active Qt Das Modul

Active Qt bietet ActiveX- und COM-Unterstützung, die es Qt für Windows-Entwicklern ermöglicht:

  • Zugriff auf ActiveX-Steuerelemente und COM-Objekte, die von einem beliebigen ActiveX-Server bereitgestellt werden, und deren Verwendung in ihren Qt-Anwendungen.
  • Ihre Qt-Anwendungen als COM-Server mit einer beliebigen Anzahl von Qt-Objekten und -Widgets als COM-Objekte und ActiveX-Steuerelemente verfügbar machen.

Qt Charts Modul

Qt Charts unterstützt weiterhin nur OpenGL für beschleunigte Serien (AbstractSeries.useOpenGL). Solche Serien werden nicht in Qt Quick gerendert, wenn eine andere Grafik-API für das Rendering verwendet wird.

Qt Data Visualization Das Modul

Qt Data Visualization unterstützt nur das OpenGL RHI-Backend und erfordert das Setzen der Umgebungsvariablen QSG_RHI_BACKEND auf opengl. Dies kann entweder auf Systemebene erfolgen oder in der main() der Anwendung mit qputenv("QSG_RHI_BACKEND", "opengl"); definiert werden.

Qt Device Utilities Modul

Unterstützung nur für Netzwerkfunktionalität.

Qt Lottie Modul

Das Qt Lottie Animation Modul wurde auf Qt 6 und das CMake-Build-System portiert.

Qt SCXML und Qt StateMachine

Qt State Machine enthält APIs, die Teil von Qt Core in Qt 5 waren. Das Qt State Machines-Paket im Installer enthält sowohl die Qt SCXML und Qt State Machine Module.

Qt Virtual Keyboard Modul

Das Qt Virtual Keyboard Modul wurde auf Qt 6 und das CMake-Build-System portiert.

  • Ein neuer Wörterbuch-Manager ermöglicht die Implementierung von benutzerdefinierten Wörterbüchern (z.B. Telefonbuch) in die Anwendung.
  • Es gibt neue Eigenschaften in VirtualKeyboardSettings.
  • Unterstützung für Cerence Handwriting (T9 Write) und XT9 wurde hinzugefügt.

Neue Funktionen in Qt 6.1

Qt Core Das Modul

  • QFuture hat neue Komfortfunktionen, um Futures in verschiedenen Zuständen zu erzeugen und kann nun seine Fortsetzung im Thread eines Kontextobjekts aufrufen.
  • qfloat16 kann uninitialisiert konstruiert werden.
  • <QtMath> bietet qHypot(), verallgemeinert std::hypot() auf beliebig viele Argumente und unterstützt qfloat16 Argumente.
  • Überlaufsichere Arithmetik wird nun von den Funktionen qAddOverflow(), qSubOverflow() und qMulOverflow() unterstützt.
  • removeIf()-Methoden und die Unterstützung von erase_if() wurden auf weitere Klassen ausgeweitet:
    • QHash QMap und ihre Multi-Varianten, deren Prädikate entweder ein std::pair oder den eigenen Iterator des Containers annehmen.
    • QSet, die auch eine insert()-Überladung erhält, die einen Ortshinweis annimmt (aber ignoriert), um mit der Standardbibliothek kompatibel zu sein.
    • QString QByteArray und , die auch () unterstützen, um alle Instanzen eines bestimmten Wertes zu entfernen. QList erase
    • QVarLengthArrayzusammen mit erase() Unterstützung und Methoden removeAll() und removeOne().
  • QStringViewDie API von ConstBegin() enthält nun count(), contains(), indexOf(), lastIndexOf(), constBegin(), und constEnd().
  • QLocale bietet Zuordnungen von seinen Enums zu ISO-Codes und zurück: languageToCode(), scriptToCode(), countryToCode(), codeToLanguage(), codeToScript(), und codeToCountry().
  • QSocketNotifier unterstützt jetzt eine flexiblere Erstellung.
  • QOperatingSystemVersion::version(), QMetaType::hasRegisteredDataStreamOperators() und QUntypedBindable::isReadOnly() hinzugefügt, deren Namen hoffentlich genug aussagen.
  • QJniObject und QJniEnvironment als öffentliche API hinzugefügt (hauptsächlich für Android verwendet).
  • Objekt-Eigenschaftsbindungen haben API-Verfeinerungen erhalten, und Bindungen wurden zu Qt Core Klassen hinzugefügt - siehe den Blog-Beitrag Property bindings für den Kontext.

Qt Gui Modul

  • QColorSpace kann nun benutzerdefinierte Transfer-Funktionen als Tabellen setzen.
  • QTextDocument ermöglicht es nun, eine Ressourcen-Provider-Funktion zu setzen, anstatt QTextDocument zu unterklassifizieren und loadResource() zu überladen.
  • Die Vulkan API Wrapper (QVulkanFunctions, QVulkanDeviceFunctions) stellen nun auch die Vulkan 1.1 und 1.2 Core APIs zur Verfügung.
    • Mit entsprechender neuer Funktionalität (supportedApiVersion()), die QVulkanInstance hinzugefügt wurde, um die Abfrage der unterstützten Version auf Instanzebene vor der Instanzerstellung zu ermöglichen.
  • QPainter::VerticalSubpixelPositioning Hinweis hinzugefügt. Dieser wird derzeit nur vom Freetype-Font-Backend unterstützt und wird, sobald er verfügbar ist, die Subpixel-Positionierung von Text in vertikaler Richtung auf Kosten von etwas Speicher und zusätzlicher Arbeit ermöglichen. Für die meisten Anwendungsfälle sollte dies deaktiviert werden, aber es kann für sehr spezielle Fälle nützlich sein, in denen Sie gemalte Elemente vertikal auf einem dynamisch transformierten Maler ausrichten wollen.

Qt Widgets Das Modul

Qt Network Das Modul

  • QNetworkCookie unterstützt jetzt die SameSite-Funktion.
  • Eingeführt QNetworkInformation:
    • QNetworkInformation Zeigt derzeit die Erreichbarkeit des Systems unter Verwendung der System-API an.
    • Unterstützt derzeit Darwin, Windows, Android und NetworkManager unter Linux.
  • TLS-Backends, die QSslSocket und die zugehörigen QSsl -Klassen antreiben, wurden in ein plugin-orientiertes Design umgewandelt.
    • Öffentliche und private Klassen im 'ssl'-Untermodul von QtNetwork sind nun TLS-Implementierungsneutral und werden nicht für Low-Level-APIs/Details verwendet.
    • Vorhandene TLS-Backends (OpenSSL, SecureTransport, Schannel) melden nun, welche Klassen, Funktionen und Protokolle sie unterstützen.
    • Es ist möglich (für eine Anwendung, die Qt verwendet), ein eigenes Backend bereitzustellen, das von QSslSocket und verwandten Klassen verwendet wird.

Qt Qml Modul

  • QJSPrimitiveValue und QJSManagedValue wurden hinzugefügt, um eine feinere Kontrolle über die JavaScript-Ausführung zu ermöglichen, als dies mit QJSValue allein möglich war.
  • Die CMake-Funktion qt6_add_qml_module (noch in Tech Preview) fügt ein qmllint-Target hinzu, das qmllint auf den QML-Dateien des Targets ausführt.

Qt Quick 3D Modul

  • Technologie-Vorschau: "Instanced Rendering", ein optimiertes Verfahren zum Zeichnen mehrerer Instanzen desselben Objekts mit unterschiedlichen Transformationen. Diese Funktion wird als vollständig angesehen, kann aber noch kleinere API-Änderungen erfahren, die auf dem Feedback der Benutzer basieren. Es ist für die Fertigstellung in Qt 6.2 geplant.
  • Technologie-Vorschau: 3D Particles, eine API zum Hinzufügen von Partikeleffekten zu 3D-Szenen. Diese API ist bereit zum Testen, ist aber noch nicht vollständig.
  • Qt Quick 3D unterstützt jetzt Morph-Ziel-Animationen, d.h. Animationen, bei denen alle Eckpunkte zwischen zwei Positionssätzen interpolieren, so dass der Eindruck entsteht, dass sich eine Form in eine andere verwandelt.

Qt 5 Kompatibilitätsmodul

Obwohl Qt Graphical Effects nicht mit Qt 6 ausgeliefert wird, wurde eine Reihe von Effekten auf die neue Grafikarchitektur portiert und dem Modul Qt5Compat hinzugefügt. Um zum Beispiel Zugriff auf DropShadow zu erhalten, fügen Sie den QML-Import Qt5Compat.GraphicalEffects hinzu. Einige komplexe Effekte, die auf der dynamischen Shader-Generierung beruhen, wie z. B. eine Reihe von Weichzeichner-Varianten, wurden entfernt.

Liste der API-Änderungen

Diese Seiten enthalten einen Überblick über die API-Änderungen in Qt 6.1:

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.