Auf dieser Seite

Neuerungen in Qt 6.5

Neue und wiederhergestellte Module in Qt 6.5

Qt 6.5 enthält die folgenden neuen Module und Werkzeuge:

  • Qt Quick Effect Maker - Ein Tool zum Erstellen leistungsstarker Shader-Effekte für Qt Quick.
  • Qt Quick Effects - Ein Modul mit „ MultiEffect “, um einen oder mehrere einfache Graphical Effects auf ein „ Qt Quick “ anzuwenden Item.
  • Qt Quick 3D Physik – Eine Physik-Engine zur Verwendung mit „ Qt Quick 3D “. Dieses Modul befindet sich nicht mehr in der Technology Preview.
  • Qt Qml Core - Ein Modul, das verschiedene Qt Core APIs für QML bereitstellt.

Neue und wiederhergestellte Module in der Technologievorschau

Hinweis: Die Stabilitätvon API und ABI wird nicht garantiert.

  • Qt Location„ Map “ rendert 2D-Karten in eine „ Qt Quick “-Anwendung. „ MapView “ enthält „Qt Quick “-Eingabebehandler zur Implementierung der typischen interaktiven Funktionen (Zoomen, Schwenken, Neigen).
  • Qt GRPC unterstützt die Kommunikation mit gRPC-Diensten mithilfe von Klassen, die auf der Grundlage von Dienstbeschreibungen aus protobuf-.proto-Spezifikationen generiert werden.
  • Qt Protobuf unterstützt das Generieren, Serialisieren und Deserialisieren von Qt-basierten Klassen aus protobuf-.proto-Spezifikationen.

Neue Funktionen in Qt 6.5

Qt Core Modul

  • QTimeZone kann nun einen „ Qt::TimeSpec “ und, falls relevant, einen Offset in einer schlanken Zeitdarstellung verpacken, die die verschiedenen APIs von QDateTime und QDate vereinheitlicht, die entweder einen „ QTimeZone “ oder einen „ Qt::TimeSpec “ sowie einen Offset akzeptierten.
  • Einführung einer API für Anwendungsberechtigungen, damit Anwendungen Berechtigungen für Funktionen überprüfen oder anfordern können, die vor der Nutzung die Zustimmung des Benutzers erfordern.
  • Neues plattformübergreifendes Tracing-Backend im Common Trace Format (CTF).
  • QBindable kann nun aus jeder Eigenschaft mit einem NOTIFY-Signal erstellt werden. Dadurch können Sie bestehende, nicht bindbare Eigenschaften in bindbare Eigenschaften integrieren.
  • Die CMake-Funktion ` qt_generate_deploy_app_script ` akzeptiert nun vorzugsweise ein Argument namens `OUTPUT_SCRIPT`. Die Übergabe der alten Variable `FILENAME_VARIABLE` ist veraltet.

Qt GUI Modul

  • Die Klassen „ QWindowsMimeConverter “ und „ QUtiMimeConverter “ wurden wieder eingeführt, um Drag-and-Drop- und Zwischenablage-Daten in plattformspezifischen Formaten unter Windows, macOS und iOS zu verarbeiten.
  • QVulkanInstance Aktiviert nun standardmäßig physische Geräte für die Vulkan-Portabilität. Dies ist erforderlich, um mit neueren MoltenVK-Versionen auf Apple-Plattformen zu funktionieren. Es wurde ein Flag „NoPortabilityDrivers“ hinzugefügt, mit dem Sie diese Funktion deaktivieren können.
  • Die Vulkan-Rendering-Infrastruktur verwendet nun „VK_EXT_debug_utils“ anstelle der veralteten „VK_EXT_debug_report“ und „VK_EXT_debug_marker“.
  • QTextLayout::glyphRuns() kann nun auf Anfrage den jedem Glyphen entsprechenden Zeichenindex zurückgeben. Dies wird über die neue Funktion „ QGlyphRun::stringIndexes()“ bereitgestellt.
  • Checkbox-Listenelemente können nun sowohl in HTML als auch in Markdown gelesen und geschrieben werden, einschließlich der entsprechenden Konvertierungen.
  • Die Funktion „ QGuiApplication::setBadgeNumber “ () wurde hinzugefügt, um dem Benutzer Feedback zur Anzahl ungelesener Nachrichten oder Ähnlichem zu geben. Das Badge wird über das Anwendungssymbol im Dock unter macOS, das Startbildschirm-Symbol unter iOS oder die Taskleiste unter Windows gelegt.

Qt Quick Das Modul

  • TableView unterstützt nun die Bearbeitung von Zellen mithilfe eines Edit-Delegaten.
  • TableView bietet nun Unterstützung für die Größenanpassung von Zeilen und Spalten mit der Maus.
  • TableView unterstützt nun die explizite Festlegung von Zeilen- und Spaltengrößen.
  • TableView verfügt nun über ein neues Signal „ layoutChanged() “. Dieses Signal kann beispielsweise verwendet werden, um Overlay-Elemente neu zu positionieren.
  • TableView Unterstützt nun Mehrfachauswahlen.
  • Es wurde Unterstützung für die Angabe separater RGB- und Alpha-Mischfaktoren in einem „ QSGMaterial “ hinzugefügt.
  • Der „ Qt Quick “-Scenegraph nutzt nun automatisch ein persistentes, festplattenbasiertes Caching von Grafikpipelines oder des Shader-Bytecodes im Zwischenformat, abhängig von der Plattform und der verwendeten 3D-Grafik-API. Dies soll die Zeit reduzieren, die bei nachfolgenden Ausführungen der Anwendung für die Erstellung der Grafikpipeline benötigt wird. Darüber hinaus bietet „ QQuickGraphicsConfiguration “ eine explizite Kontrolle darüber, ob und wo diese Daten geschrieben und von wo sie geladen werden. Dies ermöglicht fortgeschrittene Anwendungsfälle wie das Ausliefern einer vorab gefüllten Cache-Datei mit einer Anwendung oder einem Gerät, was zudem den ersten Start beschleunigt.
  • PinchHandler verfügt über neue gruppierte Eigenschaften „ scaleAxis “ und „ rotationAxis “, die mehrere neue Werte bieten, darunter die Eigenschaft „ activeValue “, die in allen Handler-Achsengruppen neu ist. Außerdem wurden die Eigenschaften „ activeTranslation “ und „ persistentTranslation “ hinzugefügt, über die „ DragHandler “ bereits verfügte.
  • DragHandler xAxis und verfügen nun über neue „ “-Eigenschaften. yAxis activeValue
  • PinchHandler„ activeScale “ (das zuvor „ scale “ hieß) ist nicht mehr auf den Bereich zwischen „ minimumScale “ und „ maximumScale “ beschränkt: Diese Grenzen gelten nur noch für „ persistentScale “. Ebenso ist „ activeRotation “ (zuvor „ rotation “) nicht mehr auf den Bereich zwischen „ minimumRotation “ und „ maximumRotation “ beschränkt. Diese Grenzen gelten für native Pinch-Gesten auf dem Touchpad genauso wie auf Touchscreens.
  • TapHandler::exclusiveSignals Mit dieser Funktion können Sie nun die Signale „ singleTapped “ und „ doubleTapped “ exklusiv machen.

Qt Labs-Animationsmodul

Qt Quick Controls Das Modul

Qt Test Modul

  • Es wurde die Methode „ QTest::currentTestResolved()“ hinzugefügt, die „true“ zurückgibt, wenn der Test fehlgeschlagen ist oder übersprungen wurde. Diese kann „ QTest::currentTestFailed()“ als Bedingung für die Überprüfung bei der Rückkehr aus einer Hilfsfunktion ersetzen.
  • QTest::mouseRelease() und ` mouseClick()` können nun zum Testen von Doppelklicks verwendet werden, indem eine realistische Zeitverzögerung angegeben wird, falls Sie den Zwischenzustand zwischen den Ereignissen überprüfen müssen. Ansonsten ist ` mouseDClick()` weiterhin praktischer.

Qt Widgets Das Modul

  • QKeySequenceEdit hat zwei neue Eigenschaften erhalten: Mit „ maximumSequenceLength “ können Anwendungen die Länge einer Tastenfolge steuern. „ finishingKeyCombinations “ definiert Tastenkombinationen, die die Aufzeichnung beenden.
  • QOpenGLWidget wurde um Unterstützung für stereoskopisches Rendering erweitert, was auch für alle QGraphicsView gilt, die auf einem „ QOpenGLWidget “-Viewport basieren. Im Gegensatz zu „ QOpenGLWindow “ oder dem inzwischen entfernten „QGLWidget“ in Qt 5 und 4 benötigt „ QOpenGLWidget “ hierfür explizite Unterstützung durch entsprechende APIs, da Anwendungen in diesem Fall nicht direkt in das native Fenster rendern und daher nicht dieselbe Kontrolle über die aktiven Zeichnungspuffer haben wie bei „ QOpenGLWindow “.

Qt Positioning Modul

Qt Serial Bus Modul

  • Einführung der Klassen „ QCanSignalDescription “, „ QCanMessageDescription “ und „ QCanUniqueIdDescription “. Diese Klassen dienen dazu, eine Reihe von Regeln zum Kodieren oder Dekodieren von CAN-Bus-Nachrichten bereitzustellen.
  • Einführung der Klasse „ QCanFrameProcessor “. Diese Klasse kann verwendet werden, um die empfangene „ QCanBusFrame “-Datei in eine Zuordnung von Schlüssel-Wert-Paaren zu dekodieren und aus einer Zuordnung von Schlüssel-Wert-Paaren eine „ QCanBusFrame “-Datei zusammenzustellen.
  • Die Klasse „ QCanDbcFileParser “ wurde eingeführt. Diese Klasse dient dazu, DBC-Dateien zu analysieren und Nachrichtenbeschreibungen zu generieren, die später in „ QCanFrameProcessor “ verwendet werden können.

Alle neuen Klassen sind experimentell und können sich noch ändern.

Qt Network Modul

  • QHttp1Configuration wurde eingeführt. Mit dieser Klasse lässt sich die maximale Anzahl der pro Host verwendeten Verbindungen bei Verwendung von HTTP 1 konfigurieren (Standard: 6).
  • QNetworkRequest „on Qt for WebAssembly“ wurde um das Attribut „UseCredentialsAttribute“ erweitert, das „withCredentials“ für den zugrunde liegenden XMLHttpRequest aktiviert.

Qt Qml-Modul

  • Es wurden die APIs „ QQmlApplicationEngine “ und „ QQmlComponent “ hinzugefügt, um QML-Elemente über ihre Modul-URI und ihren Typnamen zu laden bzw. zu erstellen. Im Gegensatz zu den URL-basierten Funktionen funktioniert dies auch mit C++-Typen und Inline-Komponenten.
  • QQmlListProperty Eigenschaften verhalten sich nun eher wie Arrays und unterstützen Methoden wie `map()`, `reduce()` und `forEach()`. Gleiches gilt für andere Sequenztypen wie ` QList<int>` und ähnliche.
  • Das qmltc wurde erweitert, um weitere QML-Konstrukte zu unterstützen, insbesondere Übersetzungsbindungen, Inline-Komponenten, Singletons und Signal-Handler für in C++ definierte Signale.
  • Es wurde das ` pragma FunctionSignatureBehavior ` eingeführt, um die Durchsetzung von Typ-Annotationen bei JavaScript-Funktionen zu steuern. Bisher waren Typ-Annotationen nur Hinweise; dieses Pragma macht sie zur Gewährleistung einer besseren Typsicherheit verbindlich.
  • Der QML-Skript-Compiler kann nun weitere Konstrukte verarbeiten. Insbesondere:
    • `console.log()` und ähnliche Funktionen
    • let sowie const
    • `qsTr()` und ähnliche Funktionen
    • arg() für Zeichenketten
    • alle übrigen bitweisen und Verschiebungsoperatoren
    • der Potenzoperator
  • Der QML-Disk-Cache lässt sich mithilfe der neuen Umgebungsvariable „ QML_DISK_CACHE “ noch feiner steuern.
  • Neue öffentliche CMake-API hinzugefügt:
    • Es wurde eine Qt-CMake-Richtlinie eingeführt, um einen besseren Standardwert für das Ressourcenpräfix festzulegen. Wenn die Richtlinie „QTP0001“ auf „ NEW “ gesetzt ist, kann die QML-Engine Ihre QML-Module im Ressourcendateisystem stets finden.
  • Die CMake-Funktion ` qt_generate_deploy_qml_app_script ` akzeptiert nun vorzugsweise ein Argument namens `OUTPUT_SCRIPT`. Die Übergabe der alten Variable `FILENAME_VARIABLE` ist veraltet.
  • Es wurde „ pragma NativeMethodBehavior: AcceptThisObject “ eingeführt, um zu steuern, wie native Methoden mit dem Objekt „ this “ umgehen, wenn sie von QML aus aufgerufen werden.

Qt Quick 3D Modul

  • Es wurde eine automatische Unterstützung für den Detaillierungsgrad (Level of Detail, LOD) für Modelle hinzugefügt. Dies ermöglicht es, beim Import von Assets vereinfachte Versionen der Meshes zu generieren und anschließend beim Rendern automatisch den geeigneten Detaillierungsgrad auszuwählen.
  • Es wurde eine explizite Unterstützung für den Detailgrad (LOD) hinzugefügt, um die Deckkraft von Modellen basierend auf der Entfernung zur Kamera zu steuern.
  • ExtendedSceneEnvironment wurde hinzugefügt, mit integrierten Effekten für Tiefenschärfe, Farbkorrektur, Glühen, Vignettierung, Linsenreflexe und anderen. Diese Effekte werden gemeinsam ausgeführt, was die Effizienz im Vergleich zu einzelnen, eigenständigen Nachbearbeitungseffekten erhöht, von denen jeder einen oder mehrere Render-Durchläufe erfordert.
  • „ DebugView “ wurde um Rendering-Statistiken, die Liste der aktiven Mesh- und Textur-Assets sowie Live-Informationen zu den Render-Durchläufen erweitert und verfügt nun über Steuerelemente zum interaktiven Umschalten von Einstellungen wie dem Drahtgitter-Modus und Material-Überschreibungen aus „ DebugSettings “.
  • DebugSettings wurde hinzugefügt und ist über SceneEnvironment verfügbar. Es ermöglicht die programmatische Steuerung von Einstellungen wie dem Drahtgittermodus und Materialüberschreibungen, um nur bestimmte Aspekte physikalisch basierter Materialien zu rendern.
  • InfiniteGrid wurde hinzugefügt, wodurch ein unendliches Raster in der horizontalen Ebene mit Ausblendung implementiert wird.
  • Es wurde eine integrierte, einfache Nebelunterstützung hinzugefügt, die über „ SceneEnvironment “ verfügbar ist. Wenn diese Funktion aktiviert ist, wird beim Rendern der Modelle in der Szene ein Tiefen- oder Höhennebeleffekt angewendet.
  • Die Auswahlfunktion wurde bei der Verwendung des Instanz-Renderings verbessert.
  • Unterstützung für Vertex-Farben für „ PrincipledMaterial “ und SpecularGlossyMaterial
  • Reflexionssonde: Unterstützung für die Verwendung einer bereitgestellten Cubemap-Textur anstelle des Renderns der Szene hinzugefügt.
  • Post-Processing-Effekte wurden verbessert, um bei Laufzeitänderungen der URIs der Shader-Quelldateien korrekt zu reagieren.
  • Es wurde ein persistentes, festplattenbasiertes Caching von zur Laufzeit generierten Material-Shader-Daten hinzugefügt. Dies soll den Start der Anwendung sowie die Zeiten beim Wechseln der Ansicht verbessern.

Qt WebView Modul

  • WebViewSettings wurde hinzugefügt, um einige der gängigen Funktionen von „ WebView “ zu konfigurieren.

Qt Multimedia Modul

  • Das ffmpeg-Medien-Backend, das in Version 6.4 als Technologievorschau verfügbar war, wird nun zum Standard für macOS, Windows, Android und Linux (mit Ausnahme der Yocto-Distribution). Die nativen Backends sind weiterhin mit eingeschränkter Unterstützung verfügbar.
  • Die Klasse „ QScreenCapture “ wurde eingeführt, die einen neuen Typ der Videoeingabe darstellt. Es ist möglich, Videos von „ QScreenCapture “ über „ QMediaCaptureSession “ an Ausgabegeräte weiterzuleiten, z. B. QMediaRecorder oder QVideoWidget. Die Bildschirmaufnahmefunktion ist nur mit dem ffmpeg-Medien-Backend verfügbar.

Plattformänderungen

WebAssembly

  • Qt Online Installer wurde um ein Binärpaket mit aktiviertem Multithreading erweitert.
  • Unterstützung für die File System Access API hinzugefügt. Dateidialog-Aufrufe wie QFileDialog::getOpenFileContent() und QFileDialog::saveFileContent() nutzen nun diese API, sofern sie vom Browser unterstützt wird.
  • Unterstützung für die Local Font Access API hinzugefügt. Qt verwendet nun lokale Schriftarten in Browsern, die diese API unterstützen.
  • Eine Tech-Preview für die Videowiedergabe und Kamerunterstützung wurde unter Qt Multimedia hinzugefügt.
  • Konfigurationsoption für WebAssembly SIMD hinzugefügt: -feature-wasm-simd128
  • Konfigurationsoption für WebAssembly-Ausnahmen hinzugefügt: -feature-wasm-exceptions
  • Veröffentlichung von „Qt Web Utils “ mit Hilfsfunktionen und Anwendungsbeispielen für Qt im Web.
  • QTest Für WebAssembly wird nun standardmäßig emrun verwendet. Ein spezielles Skript für WebAssembly steuert die Ausführung automatischer Tests.

Desktop-Plattformen

Windows

  • Die Umgebungsvariable `QT_WIN_DEBUG_CONSOLE` kann gesetzt werden, um `stdout`-/`stderr`-Meldungen in einem Konsolenfenster für GUI-Anwendungen anzuzeigen, die über die Befehlszeile gestartet werden. Setzen Sie sie auf ` new ` oder ` attach`.

macOS

Wayland-Client unter Linux

  • Unterstützt nun das „fractional_scale_v1“-Protokoll für Compositoren, die dem Client Bruchzahlen als Skalierungsfaktoren vorschlagen.

Mobile Plattformen

Android

  • Gradle wurde auf 8.0 und das Android Gradle Plugin (AGP) auf 7.4.1 aktualisiert (erfordert JDK 11 oder höher).
  • Das NDK wurde auf r25b (25.1.8937393) aktualisiert.
  • Die Liste der unterstützten Versionen umfasst nun Android 8.0 (API 26) oder höher.
  • Die Mindestversion des SDK für die Plattform wurde auf 33 angehoben (QT_ANDROID_API_VERSION).
  • Es werden nun weitere Operationen für Content-Schema-URIs mit den Qt-Funktionen für Dateien und Verzeichnisse unterstützt.
  • Korrekturen und Aktualisierungen der Dokumentation für „ QStandardPaths “ unter „Android Scoped Storage“.
  • Qt-JNI-Ausnahmen werden nun von Qt und nicht vom Android-System ausgegeben.
  • Die Unterstützung für das APK-Signaturschema v2 wurde korrigiert.

iOS

Embedded-Plattformen

Boot to Qt

  • Boot to Qt Der Stack wurde aktualisiert und verwendet nun Yocto 4.1.2 (Langdale).
  • Unterstützung für macOS-Hosts mit Docker-basierten Toolchains.
  • Die Support-Stufen für Zielhardware wurden aktualisiert; es gibt nun mehrere Support-Stufen, die für bestimmte Hardware- und Betriebssystemkombinationen gelten.

Liste der API-Änderungen

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

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