Was ist neu in Qt 6.10

Neue und wiederhergestellte Module in Qt 6.10

Qt 6.10 fügt die folgenden Module und Werkzeuge hinzu:

Neue Funktionen in Qt 6.10

Qt Core Das Modul

Qt DBus Modul

Qt Graphs Modul

Qt GRPC Modul

Qt GUI Das Modul

  • QStyleHints::accessibility bietet Zugriff auf die Zugänglichkeitseinstellungen des Benutzers, z. B. ob das System eine Einstellung für erhöhten Kontrast aktiviert hat.
  • QAccessibilityHints wurde hinzugefügt, um individuelle Einstellungen für die Zugänglichkeit zu erhalten.
  • QRhi: Unterstützung für die Aufzählung von 3D-Grafikadaptern (physische Geräte) wurde hinzugefügt, wenn Direct 3D 11, 12 oder Vulkan über die Funktion enumerateAdapters() ausgeführt wird.
  • QPainterPath::setCachingEnabled() kann verwendet werden, um das Zwischenspeichern von berechneten Werten zu aktivieren, was die Leistung für bestimmte Operationen auf Kosten des zusätzlichen Speicherverbrauchs erhöht.
  • QPainterPath::trimmed() wurde hinzugefügt, um einen Abschnitt des Pfades zurückzugeben.

Qt HttpServer Modul

Qt Lottie Animation

  • Unterstützung für solid, null und precomposition layers hinzugefügt.
  • Das Werkzeug lottietoqml wurde hinzugefügt. Dies ist ein äquivalentes Werkzeug zu svgtoqml und es konvertiert Lottie-Dateien in Qt Quick Szenen, die in QML beschrieben sind. Es befindet sich derzeit in der technischen Vorschau.
  • Es wurde ein Plugin für VectorImage hinzugefügt, das es ermöglicht, zusätzlich zu SVG auch Lottie-Dateien zu laden. Diese Funktion befindet sich in der technischen Vorschau und erfordert, dass assumeTrustedSource auf true gesetzt wird.
  • Beispiel für lottietoqml und Beispiel für qtlottieviewer hinzugefügt, um die Verwendung von Qt Lottie Animation.

Qt Multimedia Modul

  • Ein natives PipeWire-Audio-Backend wurde hinzugefügt.
  • Audio-Tonhöhenkompensation für die FFmpeg-basierte QMediaPlayer basierend auf der ausgezeichneten Signalsmith Stretch-Bibliothek. Das Verhalten kann über die Eigenschaft pitchCompensation angepasst werden.
  • QCapturableWindow kann nun aus QWindow sowohl in C++ als auch in QML erstellt werden.
  • Es wurde eine neue Klasse QPlaybackOptions hinzugefügt, die es dem Benutzer ermöglicht, Low-Level-Optionen für die FFmpeg-Medienwiedergabe zu steuern, z. B. die Wiedergabeabsicht, den Netzwerk-Timeout und die Probe-Größe.
  • In QAudioSink und QAudioSource wurden Methoden hinzugefügt, die es dem Benutzer ermöglichen, mit dem zugrundeliegenden Audiopuffer in Frame- statt in Byte-Anzahl zu arbeiten.

Qt Network Modul

  • In QSslCertificate wurde die Methode fromFile() hinzugefügt.
  • SetDateTimeValue() zu QHttpHeaders hinzugefügt, eine Komfortmethode zum Setzen von Datums- und Zeitwerten in HTTP-Headern.
  • Bequemlichkeitsmethoden zu QHttpHeaders hinzugefügt, um Werte als QDateTime, Ganzzahlen oder Listen dieser Typen abzurufen.

Qt Protobuf Modul

  • Qt Protobuf Mutable Getters wurden zu generierten Protobuf-Nachrichten hinzugefügt, so dass sie mit dem Präfix mut zugänglich sind.

Qt QML-Modul

  • Es wurde ein neuer TreeModel QML-Typ hinzugefügt, der die Definition einer Baumstruktur in der QML-Datei ermöglicht und mit TreeView funktioniert.
  • SortFilterProxyModel QML-Typ zum Sortieren und Filtern von Modelldaten hinzugefügt. Diese Funktion befindet sich in der technischen Vorschau.
  • Die Eigenschaft delegateModelAccess wurde zu DelegateModel und allen Ansichten hinzugefügt. Sie können jetzt durch erforderliche Eigenschaften in das Modell schreiben.
  • Der QML-Typ Synchronizer wurde hinzugefügt. Synchronizer hält zwei oder mehr Eigenschaften synchron, ohne Bindungen zu verwenden. Diese Funktion befindet sich in der technischen Vorschau.
  • Semikolon-Anpassungsregeln zu qmlformat hinzugefügt. Sie können nun steuern, ob Semikolons am Ende von JS-Anweisungen hinzugefügt werden.
  • Neue qmllint-Warnungen wurden hinzugefügt, um die Kompatibilität mit Qt Creator zu verbessern, einschließlich Überprüfungen für Qt Design Studio-spezifische Einschränkungen, zusätzliche JavaScript-bezogene Warnungen und mehrere neue Warnungen im Zusammenhang mit QML-Enums und Importen.
  • Die Unterstützung für die Manipulation komplexer Zeilenstrukturen von TableModel wurde entfernt.

Qt Quick Modul

  • FlexboxLayout QML-Typ hinzugefügt, um die Quick Items auf flexible Weise anzuordnen, ähnlich wie CSS Flexbox. Diese Funktion befindet sich in der technischen Vorschau.

Qt Quick Steuerelemente-Modul

  • Der FluentWinUI3-Stil hat die Unterstützung für Kontrastthemen unter Windows 11 verbessert.
  • SearchField Kontrolle hinzugefügt

Qt Quick Dialoge Modul

  • Die Eigenschaft popupType wurde hinzugefügt, mit der gesteuert werden kann, ob ein nicht-nativer Dialog in einem separaten Fenster oder als Element in der bestehenden Szene geöffnet werden soll. Dies hat keine Auswirkung bei der Verwendung nativer Dialoge.

Qt Quick Effekte-Modul

Qt Quick 3D-Modul

  • Emitter-Modus für geformte Emitter hinzugefügt, um Partikel basierend auf den Oberflächennormalen der Form emittieren zu können.
  • Implementierung von reversed Emittern, um Partikel von der Endzeit zur Anfangszeit laufen zu lassen.
  • Mehrere Verbesserungen und Änderungen an der Lichtkarte:
    • Einführung von auf Texel pro Einheit basierenden Lightmap-Größen, Hinzufügen der Eigenschaften Model::texelsPerUnit und Lightmapper::texelsPerUnit und Ersetzen der jetzt veralteten Eigenschaft Model::lightmapBaseResolution.
    • Es wurde die Eigenschaft Lightmapper::source eingeführt, um eine Lichtkartenquelle für die gesamte Szene festzulegen, die BakedLightmap::loadPrefix ersetzt und veraltet ist.
    • Hinzufügen eines eingebauten GPU-basierten Non-local Means (NLM) Denoising für gebackene Lightmaps, gesteuert über die Eigenschaft Lightmapper::denoiseSigma.
    • Das Fenster zum Backen von Lightmaps wurde verbessert und zeigt nun einen Fortschrittsbalken und eine Schätzung der verbleibenden Zeit an.
    • Das Backen erfolgt nun in einem eigenen RHI-Kontext und blockiert nicht mehr das Rendering der laufenden Anwendung.
    • Die RAM- und VRAM-Nutzung wurde beim Backen bestimmter Szenen verringert.
    • Es wurde ein Lightmap-Viewer-Tool zum Debuggen von gebackenen Lightmap-Dateien über die GUI oder die Befehlszeile hinzugefügt.
  • Der Farbimport für glTF2 baseColorFactor wurde korrigiert, indem er korrekt von linear zu sRGB konvertiert wurde, wodurch er mit der Spezifikation übereinstimmt.
  • CapsuleGeometry wurde QtQuick3D.Helpers mit festen Texturen, asynchroner Erstellungsunterstützung und offener uvProfile-Eigenschaft hinzugefügt.

Qt Quick 3D XR-Modul

  • Exposed method für die Anforderung der Raumabtastung für räumliche Verankerungen.

Qt Quick 3D-Physik-Modul

Qt Quick VectorImage-Modul

  • Unterstützung für animierte SVGs hinzugefügt, die der Animationsunterstützung in Qt SVG entspricht.
  • API hinzugefügt, um anzuzeigen, ob die Quelldatei vertrauenswürdig ist oder nicht.
  • API wurde hinzugefügt, um das Animationsverhalten zu steuern.
  • Durch Einbindung eines Plugins, das von Qt Lottie Animationbereitgestellt wird, kann VectorImage nun auch Lottie-Dateien anzeigen. Diese Funktion wird als technische Vorschau betrachtet und erfordert, dass assumeTrustedSource auf true gesetzt wird.

Qt Serial Port Modul

  • Unterstützung für die Begrenzung der Schreibpuffergröße mit der Eigenschaft writeBufferSize wurde hinzugefügt.

Qt Serial Bus Baustein

Qt Sql Modul

Qt SVG Modul

  • Unterstützung für CSS-Animationen für die Eigenschaften fill-opacity, stroke-opacity und opacity hinzugefügt.
  • Es wurde ein Beispiel hinzugefügt, das demonstriert, wie SVG-Dateien angezeigt werden können.

Qt Test Modul

  • Datengesteuerte Benchmarks identifizieren jetzt sowohl globale als auch lokale Daten in Klartextnamen
  • Backtraces von lldb sind jetzt auf Apple Silicon deaktiviert
  • Wenn QTest Fließkommawerte in einem Vergleich ausgibt, wird nun die volle Genauigkeit angegeben und eine Hexfloat-Version hinzugefügt

Qt VirtualKeyboard-Modul

  • PURL- und CPE-Informationen zu den Attributionsdateien von Drittanbieter-Quellen hinzugefügt.
  • Lettisches Tastaturlayout hinzugefügt.

Qt WebEngine Modul

Qt WebView Modul

  • WebView2-Plugin für die Windows-Plattform hinzugefügt. Das neue Backend verwendet eine native COM-API des Chromium-basierten Edge-Browsers namens WebView2. Daher können Sie jetzt Web-Inhalte bereitstellen, ohne Qt WebEngine zu verwenden.

Qt Widgets Modul

Qt XML Modul

Qt MQTT Modul

  • Hinzufügen von Unterstützung für WebSockets/Secure WebSockets

Werkzeuge

QDoc Dokumentations-Generator

  • QDoc kann nun automatisch "view source" Links zu jeder C++ API Deklaration hinzufügen. Aktivieren Sie diese Funktion mit der neuen url.sources Familie von Konfigurationsvariablen (url.sources.enabled, url.sources.rootdir, url.sources.linktext).
  • QDoc erkennt nun zirkuläre Vererbung in QML-Typen mit Hilfe von Floyds Cycle-Finding-Algorithmus und meldet das Problem, anstatt in einer Endlosschleife stecken zu bleiben.
  • QML-Eigenschaftsgruppen, die in .qml Dateien definiert sind, werden erkannt und als eine einzige gruppierte Eigenschaft angezeigt, wenn Sie sie mit \qmlproperty Befehlen dokumentieren.
  • Von Qt-Tools erzeugte Quelldateien (moc_, uic_, qrc_, etc.) werden nun automatisch übersprungen, was die QDoc-Erstellungszeiten bei großen Projekten verkürzt.
  • Der Datentyp, der für eine QML-Eigenschaft in einer .qml Datei angezeigt wird, kann nun direkt im \qmlproperty Befehl überschrieben werden, auch für nicht-aliasing Eigenschaften.
  • Die Option documentationinheaders wird nicht mehr als technische Vorschau angeboten, sondern gilt als stabil. Sie wurde erstmals in Qt 6.9 eingeführt.
  • Bei der Erzeugung von DocBook-Ausgaben enthält QDoc nun Überladungshinweise.
  • Überladene Signale und Slots enthalten nun ein kontextuelles Snippet, um ihre Verwendung zu zeigen.
  • QDoc kann gegen Clang-Bibliotheken von LLVM 21 linken.
  • Die .index-Dateien enthalten den deklarierten Rückgabetyp von \fn-Befehlen. Dies ist nützlich für Multiprojekt-Builds, wenn Autoren den Rückgabetyp einer Funktion mit auto überschreiben.
  • Sie können jetzt Ihre QML-Aufzählungen mit dem neuen Befehl \qmlenum dokumentieren. QDoc erstellt einen neuen Abschnitt, QML Enumerations, in der generierten Dokumentation.
  • Die Einrückung von Codeschnipseln ist jetzt normalisiert, wobei überflüssige Leerzeichen am linken Rand entfernt wurden. Das bedeutet, dass Schnipsel aus Quellen, die stark eingerückt sind (z.B. in einer tief verschachtelten Reihe von if-Anweisungen), so dargestellt werden, als wären sie nicht verschachtelt.
  • QDoc parst nun korrekt Template-Aliase mit Standardparametern.
  • QDoc verlinkt nicht mehr automatisch auf veraltete Funktionen, wenn es nicht veraltete Alternativen gibt.
  • Sie können die maschinelle Übersetzung von Strings mit dem neuen \notranslate-Befehl verhindern.

Plattform-Änderungen

Änderungen am Build-System

  • Die Verwendung eines privaten Qt-Moduls Foo erfordert jetzt einen Aufruf von find_package(Qt6 COMPONENTS FooPrivate), um das Ziel Qt6::FooPrivate verfügbar zu machen.
  • Eine DISCARD_FILE_CONTENTS Option wurde zu qt_add_resources() hinzugefügt.
  • Die Option FILENAME_VARIABLE von qt6_generate_deploy_[app_]script, die in Qt 6.6.0 veraltet war, wurde entfernt.
  • Das Argument NO_PLUGINS wurde zu qt_deploy_runtime_dependencies hinzugefügt. Dies schaltet die Bereitstellung von Plugins komplett ab.
  • Die Argumente INCLUDE_PLUGIN_TYPES, EXCLUDE_PLUGIN_TYPES, INCLUDE_PLUGINS und EXCLUDE_PLUGINS wurden zu qt_deploy_runtime_dependencies hinzugefügt.
  • Die Argumente für die Auswahl von Qt-Plugins wurden zu qt_generate_deploy_app_script hinzugefügt.
  • qt6_import_plugins hat keine Auswirkung mehr auf das Plugin-Deployment mit der CMake Deployment API unter Linux.
  • qt6_deploy_runtime_dependencies unterstützt nun die folgenden Plugin-Auswahl-Flags unter Linux: INCLUDE_PLUGINS, INCLUDE_PLUGIN_TYPES, EXCLUDE_PLUGINS, EXCLUDE_PLUGIN_TYPES.
  • Die Option DISCARD_QML_CONTENTS wurde zu qt_add_qml_module() hinzugefügt, die den ursprünglichen Inhalt von QML- und JS-Dateien aus dem Ressourcensystem des Ziels entfernt.

Desktop-Plattformen

Windows

macOS

  • Windows, die sich für den erweiterten Dynamikbereich (EDR) entscheiden, lösen jetzt ein Exposure-Ereignis bei einer Änderung der Bildschirmhelligkeit aus
  • Die Eigenschaft titleUIElement für Barrierefreiheit wird jetzt unterstützt
  • Die Integration des Dienstmenüs ist jetzt Rich-Text-fähig
  • QOperatingSystemVersion::MacOSTahoe repräsentiert macOS 26
  • Mappings für WhatsThisCursor und BusyCursor wurden hinzugefügt
  • QImage::toCGImage() überträgt jetzt den Farbraum des Bildes

Wayland-Client unter Linux

Mobile Plattformen

Android

Qt für Android
  • Gradle auf Version 8.14.2 und Android Gradle Plugin AGP auf Version 8.10.1 aktualisiert.
  • Unterstützung für Android 12 Splash Screen hinzugefügt.
  • Unterstützung für Android 16KB Seitengrößen hinzugefügt.
  • Ein Beispiel (QtJennyDemo) für den Zugriff auf Android-APIs über C++-Wrapper, die von einem Codegenerator (QtJenny) erzeugt werden, wurde hinzugefügt.
Qt Quick für Android
  • Unterstützung für mehrere Argumente für Signale unter QtQuickView hinzugefügt.
  • Es wurde Unterstützung für die Registrierung von Signal-Listenern hinzugefügt, bevor QML vollständig geladen ist.
  • Öffentliche Java-APIs im Javadoc-Format.

iOS

  • QPointingDevice Unterstützung für Apple Pencil hinzugefügt
  • Rotation für Standard Apple Pencil korrigiert
  • Unterstützung für Hover-Funktion für Apple Pencil 2nd gen oder höher hinzugefügt
  • Fenster, die sich für den erweiterten dynamischen Bereich (EDR) entscheiden, lösen nun ein Exposure-Ereignis aus, wenn sich die Bildschirmhelligkeit ändert
  • Aktualisierungsanfragen werden jetzt angehalten, wenn die App den aktiven Zustand verlässt
  • QScreen meldet jetzt auch invertierte Bildschirmausrichtungen
  • RLIMIT_STACK spiegelt jetzt die effektive Stapelgröße wider
  • QImage::toCGImage() überträgt jetzt den Farbraum des Bildes

Eingebettete Plattformen

Boot to Qt

Echtzeit-Betriebssysteme

  • Unterstützung für Echtzeit-Betriebssysteme wird nur für LTS-Releases angeboten. Für Nicht-LTS-Versionen ist die Unterstützung ausschließlich über Professional Services erhältlich.

Abgelehnte Module in Qt 6.10

Die folgenden Module sind veraltet. Wir raten dringend davon ab, sie in neuem Code zu verwenden.

Die Module Qt Charts und Qt DataVisualization sind veraltet. Sie sind weiterhin Teil der lizenzierten Software und bleiben Teil des Qt-Projekts. Für neuen Code empfehlen wir jedoch, dass Sie Qt Graphs. Lesen Sie auch die Dokumentation zu {Qt Graphs Migration von Qt Charts}{Migration von Qt Charts} und Migration von Qt Data Visualization.

Weitere Informationen über den Lebenszyklus von Modulen in Qt finden Sie in QUIP-14.

Liste der API-Änderungen

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

Bekannte Probleme

Informationen über bekannte Probleme in Qt 6.10 finden Sie im Qt Wiki.

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