Auf dieser Seite

Neuerungen in Qt 6.1

Neue und wiederhergestellte Module in Qt 6.1

Qt 6.1 enthält die folgenden Module:

Active Qt Modul

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

  • in ihren Qt-Anwendungen auf ActiveX-Steuerelemente und COM-Objekte zuzugreifen und diese zu nutzen, die von einem beliebigen ActiveX-Server bereitgestellt werden.
  • ihre Qt-Anwendungen als COM-Server bereitzustellen, wobei eine beliebige Anzahl von Qt-Objekten und Widgets als COM-Objekte und ActiveX-Steuerelemente verwendet werden kann.

Qt Charts Modul

Qt Charts unterstützt nach wie vor nur OpenGL für beschleunigte Reihen (AbstractSeries.useOpenGL). Solche Reihen werden in „ Qt Quick “ nicht gerendert, wenn für das Rendern eine andere Grafik-API verwendet wird.

Qt Data Visualization Das Modul

Qt Data Visualization unterstützt ausschließlich das OpenGL-RHI-Backend und erfordert die Einstellung der Umgebungsvariable ` QSG_RHI_BACKEND ` auf ` opengl`. Dies kann entweder auf Systemebene erfolgen oder in der `main()`-Funktion der Anwendung mit ` qputenv("QSG_RHI_BACKEND", "opengl");` definiert werden.

Qt Device Utilities Modul

Unterstützt ausschließlich Netzwerkfunktionen.

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 in Qt 5 Teil von „ Qt Core “ waren. Das Qt State Machine -Paket im Installationsprogramm enthält sowohl das Qt SCXML sowie 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 es, benutzerdefinierte Wörterbücher (z. B. ein Telefonbuch) in die Anwendung zu integrieren.
  • Es gibt neue Eigenschaften unter „ VirtualKeyboardSettings “.
  • Es wurde Unterstützung für Cerence Handwriting (T9 Write) und XT9 hinzugefügt.

Neue Funktionen in Qt 6.1

Qt Core Das Modul

  • QFuture verfügt über neue Komfortfunktionen zum Erstellen von Futures in verschiedenen Zuständen und kann nun seine Fortsetzung im Thread eines Kontextobjekts aufrufen.
  • qfloat16 kann uninitialisiert erstellt werden.
  • <QtMath> stellt die Funktion ` qHypot()` bereit, die `std::hypot()` auf beliebig viele Argumente verallgemeinert und `qfloat16`-Argumente unterstützt.
  • Überlaufsichere Arithmetik wird nun von den Funktionen ` qAddOverflow()`, ` qSubOverflow()` und ` qMulOverflow()` unterstützt.
  • Die „removeIf()“-Methoden und die Unterstützung für „ erase_if()“ wurden auf weitere Klassen ausgeweitet:
    • QHash, „ QMap “ und deren „Multi“-Varianten, deren Prädikate entweder ein `std::pair` oder den container-eigenen Iterator entgegennehmen.
    • QSet, die zudem eine `insert()`-Überladung erhält, die einen Positionshinweis entgegennimmt (aber ignoriert), um die Kompatibilität mit der Standardbibliothek zu gewährleisten.
    • QString, ` QByteArray ` und ` QList`, die zudem Unterstützung für ` erase()` erhalten, um alle Instanzen eines bestimmten Werts zu entfernen.
    • QVarLengthArray, zusammen mit der Unterstützung für ` erase()` sowie den Methoden `removeAll()` und `removeOne()`.
  • QStringViewDie API 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 nun eine flexiblere Erstellung.
  • QOperatingSystemVersion::version(), QMetaType::hasRegisteredDataStreamOperators() und QUntypedBindable::isReadOnly() wurden hinzugefügt, deren Namen hoffentlich für sich sprechen.
  • QJniObject und QJniEnvironment wurden als öffentliche API hinzugefügt (hauptsächlich für Android verwendet).
  • Die Objekt-Eigenschaftsbindungen wurden API-technisch verfeinert, und es wurden Bindungen für Qt Core -Klassen hinzugefügt – siehe dazu den Blogbeitrag zu Eigenschaftsbindungen für weitere Informationen.

Qt GUI-Modul

  • QColorSpace kann nun benutzerdefinierte Übertragungsfunktionen als Tabellen festlegen.
  • QTextDocument ermöglicht es nun, eine Ressourcen-Provider-Funktion festzulegen, anstatt „ QTextDocument “ zu unterklassen und „loadResource()“ zu überladen.
  • Die Vulkan-API-Wrapper (QVulkanFunctions, QVulkanDeviceFunctions) stellen nun auch die Kern-APIs von Vulkan 1.1 und 1.2 bereit.
    • QVulkanInstance wurde um die entsprechende neue Funktion (supportedApiVersion()) erweitert, um die Abfrage der unterstützten Version auf Instanzebene vor der Instanzerstellung zu ermöglichen.
  • Der Hinweis „ QPainter::VerticalSubpixelPositioning “ wurde hinzugefügt. Dieser wird derzeit nur vom Freetype-Schriftart-Backend unterstützt und ermöglicht, sofern verfügbar, die Subpixel-Positionierung von Text in vertikaler Richtung – allerdings auf Kosten von etwas Speicherplatz und zusätzlichem Rechenaufwand. In den meisten Anwendungsfällen sollte diese Option deaktiviert bleiben, sie kann jedoch in ganz bestimmten Fällen nützlich sein, in denen Sie gezeichnete Elemente vertikal auf einem dynamisch transformierten „Painter“ ausrichten möchten.

Qt Widgets Das Modul

  • QLabel verfügt über Setter- und Getter-Methoden für die Ressourcen-Provider-Funktion in „ QTextDocument “. Weitere Informationen finden Sie in den Änderungen am Qt GUI-Modul.

Qt Network Das Modul

  • QNetworkCookie unterstützt nun die SameSite-Funktion.
  • QNetworkInformation wurde eingeführt:
    • QNetworkInformation stellt derzeit die Erreichbarkeit des Systems mithilfe der System-API bereit.
    • Derzeit werden Darwin, Windows, Android und NetworkManager unter Linux unterstützt.
  • Die TLS-Backends, die QSslSocket und die zugehörigen QSsl -Klassen unterstützen, wurden auf ein plugin-orientiertes Design umgestellt.
    • Öffentliche und private Klassen im „ssl“-Submodul von „ QtNetwork “ sind nun TLS-implementierungsneutral und geben keine Low-Level-APIs/Details preis.
    • Bestehende TLS-Backends (OpenSSL, SecureTransport, Schannel) geben nun an, 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 den zugehörigen Klassen genutzt werden kann.

Qt Qml Modul

  • QJSPrimitiveValue und QJSManagedValue wurden hinzugefügt, um eine feinere Steuerung der JavaScript-Ausführung zu ermöglichen, als dies allein mit QJSValue möglich war.
  • Die CMake-Funktion „qt6_add_qml_module“ (noch in der Tech Preview) fügt ein „qmllint“-Ziel hinzu, das „qmllint“ auf den QML-Dateien des Ziels ausführt.
  • „ freeze() “ und „multi-insert() “ wurden zu „ QQmlPropertyMap “ hinzugefügt.

Qt Quick 3D Modul

  • Technologievorschau: „Instanced Rendering“, eine optimierte Methode zum Zeichnen mehrerer Instanzen desselben Objekts mit unterschiedlichen Transformationen. Diese Funktion gilt als funktionsvollständig, kann jedoch basierend auf Nutzer-Feedback noch geringfügigen API-Änderungen unterliegen. Die Fertigstellung ist für Qt 6.2 geplant.
  • Technologievorschau: 3D-Partikel, eine API zum Hinzufügen von Partikeleffekten zu 3D-Szenen. Diese API ist bereit zum Testen, aber noch nicht vollständig ausgereift.
  • Qt Quick 3D unterstützt nun Morph-Target-Animationen, d. h. Animationen, bei denen alle Scheitelpunkte zwischen zwei Positionssätzen interpoliert werden, wodurch der Eindruck entsteht, dass sich eine Form in eine andere verwandelt.

Qt-5-Kompatibilitätsmodul

Zwar wird das Qt- Graphical Effects nicht mit Qt 6 ausgeliefert, doch wurden zahlreiche Effekte auf die neue Grafikarchitektur portiert und dem Modul „Qt5Compat“ hinzugefügt. Um beispielsweise Zugriff auf „ DropShadow “ zu erhalten, fügen Sie den QML-Import „Qt5Compat.Graphical Effects“ hinzu. Einige komplexe Effekte, die auf der dynamischen Shader-Generierung basieren, wie z. B. eine Reihe von Unschärfe-Varianten, wurden entfernt.

Liste der API-Änderungen

Diese Seiten enthalten eine Übersicht über die API-Änderungen in Qt 6.1:

© 2026 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.