Auf dieser Seite

Neuerungen in Qt 6.2

Neue und wiederhergestellte Module in Qt 6.2

Qt 6.2 fügt das folgende Modul hinzu:

  • QtQuick.Dialogs - Ein QML-Modul, das native Dialoge bereitstellt und auf Plattformen, auf denen Qt keinen nativen Dialog bereitstellt, auf „ Qt Quick “ ausweicht. „ FileDialog “ und „ FontDialog “ sind in dieser Version verfügbar.

Qt 6.2 führt die folgenden Module wieder ein, die in Qt 6.1 nicht vorhanden waren. Alle aufgeführten Module wurden auf Qt 6 und das CMake-Build-System portiert.

Eine detailliertere Liste der Änderungen an den einzelnen Modulen finden Sie unter „Änderungen an Qt-Modulen in Qt 6“.

  • Qt Bluetooth
    • Die Unterstützung für BlueZ 4 wurde entfernt.
    • Das Win32-Backend wurde entfernt. Infolgedessen wird „ Qt Bluetooth “ unter Verwendung von Mingw-w64 nicht mehr unterstützt.
    • Die QML-API wurde entfernt.
    • „QBluetoothTransferManager“ und zugehörige Klassen wurden entfernt.
    • Funktionen im Zusammenhang mit Pairing-Agenten wurden aus „ QBluetoothLocalDevice “ entfernt.
  • Qt Multimedia
    • Qt Multimedia Die öffentliche API besteht aus fünf großen Funktionsblöcken. Jede API hat im Vergleich zu Qt 5 erhebliche Änderungen erfahren:
      • Geräteerkennung
      • Low-Level-Audio
      • Wiedergabe und Dekodierung
      • Erfassung und Aufnahme
      • Videoausgabe-Pipeline
    • Derzeit unterstützte Backends:
      • Linux: GStreamer
      • Windows: WMF
      • macOS/iOS: AVFoundation
      • Android: „ MediaPlayer “ und Kamera-APIs
  • Qt NFC
    • Die Unterstützung für Linux/NearD wurde entfernt.
    • Unterstützung für iOS hinzugefügt.
  • Qt Positioning
    • Viele der Eigenschaften wurden bindbar gemacht.
    • QGeoPolygon::path() wurde in „ QGeoPolygon::perimeter “ umbenannt.
    • QGeoLocation Verwendet nun „ QGeoShape “ anstelle von „ QGeoRectangle “ als Begrenzungsbereich.
    • Das Signal „ error() “ in mehreren Positionierungsklassen wurde in „ errorOccurred() “ umbenannt.
    • „QGeoPositionInfoSourceFactoryV2“ wurde entfernt, und „ QGeoPositionInfoSourceFactory “ unterstützt nun benutzerdefinierte Parameter für die erstellten Objekte.
    • Die NMEA-Unterstützung wurde überarbeitet. Das Plugin „serialnmea“ wurde in „nmea“ umbenannt und unterstützt nun das Einlesen des Eingabestroms aus einem TCP-Socket oder einer Raw-Datei. Die Eigenschaft „ nmeaSource “ wurde entfernt.
  • Qt Remote Objects
    • Das Backend für lokale Verbindungen unterstützt nun abstrakte Namespaces (dies ist eine Linux-spezifische Erweiterung), was durch die Verwendung des neuen „ localabstract “-Schemas in der URL erreicht wird.
    • .rep-Dateien unterstützen nun:
      • Klassen-Enums.
      • QFlags.
      • Mehrzeilige Kommentare (im C-Stil).
    • Enums und „ flags “ werden nun in POD-Typen sowie als Schlüssel für die Eigenschaften „ QMap “ und „ QHash “ in „ .rep “-Dateien unterstützt.
  • Qt Sensors
    • Die meisten QML-bezogenen Eigenschaften sind nun bindbar.
    • Sensor::type Die Eigenschaften „ QSensor::type “ und „ “ sind nun als Konstanten gekennzeichnet.
    • Es wurde ein Parameter zu „ QSensorBackend::sensorBusy()“ hinzugefügt, um auch den „busy“-Zustand löschen zu können.
    • „typedef“ für „qtimestamp“ wurde entfernt.
    • Der String „ type “ des Sensors wurde in „ sensorType “ umbenannt.
    • Windows: Wir können nun die Windows 10-API erfordern und damit die Anzahl der unterstützten Sensoren erweitern.
    • TI Sensor Tag wurde als unterstützte Plattform entfernt.
    • Das Linux- sysfs -Backend wurde entfernt.
    • Die Unterstützung für Sensor-Gesten wurde entfernt (Feedback hier erwünscht: QTBUG-97066).
    • „Sensorfw“ wurde als Plattform entfernt, da „Sensorfw“ selbst noch nicht auf Qt 6 portiert wurde.
    • Sensortypen, die ausschließlich über ein Sensorfw-Backend verfügten (IRProximity, Lid und Tap), werden nicht mehr als unterstützt aufgeführt.
    • Sensortypen ohne Backend wurden entfernt (Altimeter, Distance und Holster).
  • Qt Serial Bus
  • Qt Serial Port
  • Qt WebChannel
    • QWebChannel Eigenschaften wurden bindbar gemacht.
    • Das Aktualisierungsintervall der Eigenschaft von „ QWebChannel “ kann nun konfiguriert werden. Das Aktualisierungsintervall von 50 ms bleibt die Standardeinstellung.
    • QWebChannel unterstützt nun Eigenschaftsaktualisierungen für BINDABLE-Eigenschaften. Die Client-Seite bietet jedoch keinen generischen Callback-Mechanismus, wenn die Host-Eigenschaft kein NOTIFY-Signal besitzt.
    • Signale von Objekten, die in einem anderen Thread laufen, werden nun korrekt verarbeitet (QTBUG-51366).
  • Qt WebEngine
    • Das Submodul für „ Qt Quick “ wurde von „QtWebEngine“ in „ QtWebEngineQuick “ umbenannt.
    • Mehrere Klassen wurden von „ QtWebEngineWidgets “ nach „ QtWebEngineCore “ verschoben, darunter „ QWebEnginePage “.
    • Einige Funktionen, die zuvor nur durch Ableitung von „ QWebEnginePage “ zugänglich waren, sind nun über synchrone Signale verfügbar.
    • QWebEngineProfile wurde um eine Favicon-API erweitert, um Symbole für bestimmte URLs abzurufen.
    • Die neue Klasse „ QWebEngineLoadingInfo “ liefert detailliertere Informationen über den Erfolg oder Misserfolg des Ladevorgangs.
  • Qt WebSockets
  • Qt WebView

Neue Funktionen in Qt 6.2

Qt Core Modul

  • Hinzugefügte Funktionen:
    • QByteArrayView::compare() wurde hinzugefügt.
    • Methoden „QFlags::test(Any)Flag(s)“ hinzugefügt.
    • QHashSeed wurde hinzugefügt, um das Hashing zu steuern (Seeds sind nun size_t); dies soll qGlobalQHashSeed und qSetGlobalQHashSeed ersetzen.
    • Die Makros `PRIxQTDATATYPE` wurden hinzugefügt, um die Formatierung im `printf()`-Stil ohne Typumwandlungen oder Warnungen zu ermöglichen.
  • Viele Eigenschaften wurden bindbar gemacht.
  • Grafemcluster können nun Emojis verarbeiten.
  • UNC-Pfade und Netzwerkfreigaben unter Windows werden nun einheitlich behandelt.
  • Die Behandlung des Start-Offset-Parameters, der als „ from “ bezeichnet wird, in verschiedenen Methoden von „ indexOf() “ und „ lastIndexOf() “ von Containern (hauptsächlich „ QString “, „ QByteArray “ und deren Ansichten) ist nun einheitlicher.
  • Ähnlich wie QString::number() seit der Veröffentlichung von Qt 6.0 geben die Überladungen von QByteArray::number() für vorzeichenbehaftete ganzzahlige Typen nun einen Text mit einem Minuszeichen gefolgt vom Absolutwert der Zahl zurück, anstatt bei allen Basen außer zehn auf einen vorzeichenlosen Typ zu konvertieren, wenn eine negative Ganzzahl und eine beliebige unterstützte Basis übergeben werden.
  • QCalendar unterstützt nun die Konstruktion anhand der ID eines benutzerdefinierten Backends.
  • QChar, QPoint und QPointF sind nun primitive Funktionen und nicht mehr nur verschiebbar.
  • QCoreApplication::exit() ist nun, wie quit(), ein Slot (wie in der Dokumentation schon lange angegeben); dasselbe gilt für QEventLoop und QThread.
  • QDateTime berücksichtigt nun Zeitzonen über den gesamten Bereich von `time_t` hinweg (sofern die Plattform solche Informationen bereitstellt), anstatt den Bereich künstlich auf 1970–2037 zu beschränken.
  • Das Verhalten von ` QFlags` in Bezug auf Werttypen wurde ausgearbeitet und wird nun systematischer eingesetzt.
  • Bei der Kompilierung für C++20 ist ` QList ` (und damit auch ` QVector`) nun ein ` contiguous_iterator`, der die Anforderung ` contiguous_range` erfüllt.
  • Die Methoden `QLocalSocket::waitFor*()` wurden so angepasst, dass sie Duplex-Operationen unter Windows unterstützen (wie dies unter Unix bereits der Fall war).
  • Den Methoden „ QLockFile “ wurden std::chrono-Überladungen hinzugefügt, um unnötige Konvertierungen zwischen UTC und Ortszeit zu vermeiden.
  • QString kann nun aus `char8_t` erstellt werden (sofern verfügbar).
  • Die Thread-Priorität von ` QThreadPool` wurde konfigurierbar gemacht; die Threads teilen sich den Namen des Pools, sofern dieser vorhanden ist.
  • Zahlreiche Fehlerbehebungen, Bereinigungen und Verbesserungen der Dokumentation.

Qt GUI Modul

  • QImage wurde um Gleitkomma-Bildformate für 16-Bit- und 32-Bit-Gleitkommazahlen erweitert.
  • Die Konvertierung von RGB-Bildern in Graustufenbilder oder das Einfügen von RGB-Farben in Graustufenbilder erfolgt nun gammakorrigiert und liefert die Luminanzwerte des Eingabefarbraums.
  • Das CSS-Attribut „text-decoration-color“ wird nun in Rich-Text-Spans mit Unterstreichungen, Überzeichnungen und Durchstreichungen unterstützt.

Qt Quick Modul

  • Es wurde die Unterstützung für die Auswahl von Zellen in einem „ TableView “ hinzugefügt, indem diesem ein „ ItemSelectionModel “ zugewiesen wird.

Qt Quick Controls Modul

  • Ein neues Steuerelement wurde hinzugefügt: „ SelectionRectangle “. Dieses Steuerelement kann verwendet werden, um Zellen in einem „ TableView “ mithilfe eines formatierten Auswahlrechtecks auszuwählen.

Qt Widgets Modul

Qt Network Modul

  • QSslSocket
    • TLS-Backends, die zuvor (in Qt 6.1) in pluginähnliche Klassen umgewandelt wurden, wurden aus QtNetwork ausgelagert und als echte Plugins implementiert.
    • Es können nun mehrere TLS-Backends zur Laufzeit nebeneinander existieren, zum Beispiel OpenSSL und Schannel oder OpenSSL und SecureTransport.
  • QNetworkInformation
    • Es wurde „ isBehindCaptivePortal “ eingeführt, eine neue Eigenschaft, mit der festgestellt werden kann, ob der Benutzer mit einem Netzwerk mit Captive Portal verbunden ist.

Qt Qml-Modul

  • Kernsprache
    • Unterstützung für optionale Verkettung hinzugefügt.
    • Als Casts hinzugefügt: Diese dienen hauptsächlich der Tooling-Unterstützung, können aber auch verwendet werden, um Code wie „ return (obj instanceof Item) ? obj.width : 42 “ durch „ (obj as Item)?.width ?? 42 “ zu ersetzen.
    • Unterstützung für Veralterungsanmerkungen in QML-Dateien hinzugefügt, wodurch Typen und Eigenschaften mit ` @Deprecated` als veraltet markiert werden können.
  • Modulsystem
    • Die Direktive „ prefer “ wurde in qmldir-Dateien hinzugefügt. Diese Direktive wird von CMake automatisch generiert und bewirkt, dass das QML-Modul aus dem Ressourcendateisystem geladen wird. Dies ermöglicht die Verwendung von vorab kompilierten QML-Dateien.
    • Die Umgebungsvariable ` QML_IMPORT_PATH ` wurde als bessere Alternative zur Umgebungsvariable ` QML2_IMPORT_PATH ` hinzugefügt.
  • Eine öffentliche CMake-API für QML-Module wurde hinzugefügt: qt_add_qml_module().
    • Übernimmt die Generierung von „ qmldir “ und „ qmltypes “.
    • Kann automatisch ein Plugin erstellen, wenn ein Plugin nur Typen registriert.
    • Verfügt über integrierte Unterstützung für ein Linting-Ziel.
  • QML-Tooling
    • qmllint
      • Es wurde eine detaillierte Einstellung für den Schweregrad von Warnungen hinzugefügt; Warnungen können vollständig deaktiviert, als reine Informationen angezeigt oder so konfiguriert werden, dass sie zu einem Exit-Code ungleich Null führen.
      • Es wurde eine Einstellungsdatei (.qmllint.ini) hinzugefügt, um die Warnstufen verzeichnisweise zu konfigurieren. Eine Standard-Einstellungsdatei kann mit dem Befehl „ qmllint --write-defaults “ generiert werden.
      • Warnungen können nun blockweise über Kommentare deaktiviert werden; //qmllint enable/disable <warning-type1> <warning-type2...>
      • Die Leistung beim Überprüfen von Dateien wurde erheblich verbessert, insbesondere beim Überprüfen mehrerer Dateien mit vielen Importen.
      • Unterstützung für die JSON-Ausgabe zur Verwendung in Tools hinzugefügt.
    • qmlformat
      • qmlformat nutzt nun unsere neue qmldom -Bibliothek und sollte im Allgemeinen bessere Ergebnisse liefern.

Qt Quick 3D Modul

  • Unterstützung für Instanz-Rendering hinzugefügt, eine optimierte Methode zum Zeichnen mehrerer Instanzen desselben Objekts mit unterschiedlichen Transformationen.
  • 3D-Partikel wurden hinzugefügt, eine API zum Hinzufügen von Partikeleffekten zu 3D-Szenen. Dies umfasst eine Technologievorschau auf Partikel mit Modellüberblendung.
  • Qt Quick -Eingabeereignisse für 2D-Elemente in 3D wurden hinzugefügt, sowohl in der Szene als auch in Texturen.
  • Eine API für die strahlbasierte Auswahl von beliebigen Punkten in der Szene wurde hinzugefügt.
  • RuntimeLoader wurde hinzugefügt, wodurch das Laden von glTF2-Dateien zur Laufzeit möglich ist.
  • Parallax-Occlusion-Mapping implementiert: Ermöglicht die Verwendung von Höhenkarten, ohne dass zusätzliche Geometrie hinzugefügt werden muss.
  • Der Depth-Draw-Modus für Materialien wurde implementiert: Ermöglicht eine fein abgestimmte Steuerung des Tiefen-Renderings für ein Material.

Qt Data Visualization Modul

  • Der Hintergrund-Rendering-Modus wurde korrigiert.
  • „RenderDirectToBackground_NoClear“ wurde als veraltet markiert, da die Option, das Fenster nicht zu löschen, in Qt 6 nicht mehr verfügbar ist.
  • Zahlreiche kleinere Fehlerbehebungen.

Qt Charts Modul

  • In QScatterSeries und QLegend wurden weitere Markierungsformen zur Auswahl hinzugefügt.
  • In „QXYSeries“ und „QLegend“ wurde eine Funktion für helle Markierungen hinzugefügt. Dabei handelt es sich um eine ressourcenschonendere Darstellung von Punkten.
  • Es wurde die Möglichkeit hinzugefügt, Punkte in einer Serie über Methodenaufrufe an „QXYSeries“ und „QBarSet“ auszuwählen.
  • Es wurde die Möglichkeit hinzugefügt, eine Farbe festzulegen oder eine benutzerdefinierte helle Markierung für ausgewählte Punkte in QXYSeries zu verwenden.
  • Es wurde die Möglichkeit hinzugefügt, in QBarSet eine Farbe für ausgewählte Balken festzulegen.
  • Es wurde eine Funktion zur Anzeige einer Regressionsgeraden in einer „QXYSeries“ hinzugefügt.
  • Es wurde die Möglichkeit hinzugefügt, das Aussehen einzelner Punkte in einer QXYSeries anzupassen. Diese Funktion ermöglicht die Einstellung der Sichtbarkeit, der Sichtbarkeit der Beschriftung und der Größe jedes einzelnen Punktes.
  • Es wurde die Methode „ sizeBy()“ zu „QXYSeries“ hinzugefügt, die die Größe der Punkte in einer Reihe entsprechend der übergebenen Werte anpasst.
  • Es wurde eine Methode „ colorBy()“ zu „QXYSeries“ hinzugefügt, die die Farbe der Punkte in einer Reihe entsprechend der übergebenen Werte und eines Farbverlaufs anpasst.
  • Es wurde eine neue Achsenklasse „QColorAxis“ hinzugefügt, um die Funktion „colorBy()“ zu unterstützen und eine Farbskala anzuzeigen.
  • Es wurde die Möglichkeit hinzugefügt, die Beschriftungsverkürzung in Achsen zu deaktivieren.
  • Die Leistung wurde durch das Zwischenspeichern kürzlich verwendeter Textgrenzen verbessert.
  • QLegend wurde über die Methode ` setInteractive()` um interaktive Funktionen erweitert. Ist diese Funktion aktiviert, lässt sich die Legende per Doppelklick abtrennen. Nach dem Abtrennen kann die Legende verschoben und in der Größe angepasst werden und durch Ziehen über den Rand wieder an einer Seite des Diagramms angeheftet werden.
  • Das Signal ` attachedToChartChanged()` wurde zu QLegend hinzugefügt.
  • Das Legendenbeispiel wurde aktualisiert.

Qt for Python

  • Der Dokumentation zu „Qt for Python “ wurden neue Beispiele, Tutorials und Videos hinzugefügt.
  • Kompatibel mit Python 3.10rc2.
  • Die Module „ QtDBus “, „ QtNetworkAuth “ und „ QtBluetooth “ wurden hinzugefügt.
  • Eine neue Shiboken-Funktion, „Opaque Containers“, wurde hinzugefügt, um zu vermeiden, dass C++-Container zur Verwendung in Python kopiert werden müssen.
  • Sie können nun „ qtpaths “ anstelle von „ qmake “ verwenden, wenn Sie PySide aus dem Quellcode kompilieren.
  • Es wurde Unterstützung für „std::function“ für einige Methoden von „ QThreadPool “ hinzugefügt.
  • Es wurden neue QML-Funktionen sowie Unterstützung für „ qmlRegisterSingletonInstance “ hinzugefügt.

Änderungen an den Plattformen

Plattformen für die Technologievorschau

Windows auf ARM

  • Windows auf ARM64 wurde als Technologie-Preview-Plattform hinzugefügt.
  • Wird als Build-Ziel unterstützt; noch keine Host-Unterstützung.
  • Bekannte Einschränkungen:
    • Qt WebEngine wird noch nicht unterstützt; offizielle Unterstützung für Chromium fehlt.
    • Noch keine Unterstützung für SSL; es fehlt die offizielle OpenSSL-Unterstützung.

Desktop-Plattformen

macOS auf Apple Silicon

  • Offizielle Unterstützung sowohl als Ziel- als auch als Host-Plattform hinzugefügt.
  • Bibliotheken im Qt SDK werden als universelle Binärdateien kompiliert.
  • Bekannte Einschränkungen:
    • SSL-Unterstützung fehlt.
    • Die Datenbank-Plugins fürPostgreSQL und ODBC fehlen (QTBUG-93204).
    • Es fehlt die JIT-Unterstützung (QTBUG-93206).

Wayland-Client unter Linux

  • Eine Pinch-Geste auf dem Touchpad erzeugt nun Zoom- und Rotations- QNativeGestureEvents, wenn der Compositor diese über das Protokoll „pointer-gestures-unstable-v1“ sendet. Dadurch kann ein Qt Quick PinchHandler über Pinch-Gesten auf dem Touchpad bedient werden. Zwei-, drei- oder vierfingrige Gesten werden erkannt. Eine Geste vom Typ „ Qt::PanNativeGesture “ kann durch Wischen mit drei oder vier Fingern erzeugt werden. Das Wischen mit zwei Fingern erzeugt nach wie vor „ QWheelEvent“-Signale wie bisher.

Mobile Plattformen

Android

  • Einige der Methoden, die zuvor im Namespace „QtAndroid“ in „QtAndroidExtras“ enthalten waren (z. B. „sdkVersion()“ und „context()“), wurden nach „ QNativeInterface::QAndroidApplication “ verschoben.
  • In „ QCoreApplication “ wurde eine neue Berechtigungs-API implementiert.
  • Die verbleibenden QtAndroidExtras-APIs wurden in qtbase als private APIs belassen, bis plattformübergreifende Alternativen (für Intents, Services usw.) verfügbar sind.
  • Veralteter Ministro-Code wurde entfernt, da er von Android nun nicht mehr unterstützt wird.
  • Die Datei „AndroidManifest.xml“ wurde vereinfacht und enthält nun nur noch für den Benutzer relevante Tags, was die Wartbarkeit verbessert und Unübersichtlichkeit verringert.
  • QCDebug() und verwandte Funktionen verwenden nun die Kategorie als Tag in Android Logcat.
  • Das Android-Gradle-Plugin wurde auf Version 4.1.3 aktualisiert.
  • Ein Fehler bei einer Nicht-SDK-API im Zusammenhang mit „style“ wurde behoben (QTBUG-71590), allerdings ist „Android Style“ für Widgets unter Android 9+ weiterhin betroffen (QTBUG-96149).
  • Die Standard-`targetSdkVersion` wurde gemäß den Anforderungen des Google Play Stores auf 30 gesetzt.
  • Die verwendete Version der Build-Tools und der Plattform wurde auf 30 erhöht.
  • QDesktopServices Benutzerdefinierte Handler sind nun aktiviert und ermöglichen beispielsweise die Arbeit mit Android App Links.
  • Es wurden Informationen hinzugefügt, die es Anwendungen ermöglichen, die Quelle eines Intents zu ermitteln, ohne eine eigene Erweiterung von QtActivity erstellen zu müssen.
  • Die Importe für QML-Module wurden korrigiert und die Möglichkeit mehrerer QML-Stammverzeichnisse hinzugefügt.
  • Vulkan-Builds auf Android wurden korrigiert.

iOS

  • Die CMake-Unterstützung wurde verbessert.
  • Bekannte Probleme:
    • Fehlendes Standard-Storyboard für den Startbildschirm.
    • Benutzerdefinierte Bibliotheken lassen sich nicht installieren (QTBUG-95381).

Eingebettete Plattformen

Verfügbar unter der Qt for Device Creation -Lizenz.

Boot to Qt

  • Der „ Boot to Qt “-Stack wurde aktualisiert und verwendet nun Yocto 3.3 (Hardknott).
  • Intel NUC10 (64-Bit-i5-x86) wurde als Referenzziel hinzugefügt.
  • NVidia Jetson Tegra X2 wurde als Ziel hinzugefügt.

QNX

  • QNX Version 7.1 und Ubuntu 20.04 wurden als Host hinzugefügt.
  • NXP iMX8QM wurde als Referenzziel hinzugefügt.

INTEGRITY

  • INTEGRITY Version 19.0.13 und Ubuntu 20.04 wurden als Host hinzugefügt.
  • Qualcomm Snapdragon 8155P wurde als Referenzziel hinzugefügt.

WebOS

Qt 6.2 wurde für die Verwendung mit LG webOS OSE 2.13.1 unter Ubuntu 20.04 als Entwicklungshost und Raspberry Pi 4-Hardware verifiziert.

Liste der API-Änderungen

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

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