Neuerungen in Qt 6.11
Neue Module in Qt 6.11
Qt 6.11 enthält die folgenden Module:
- Qt Canvas Painter – Eine beschleunigte 2D-Zeichenlösung für Renderziele auf Basis von „ Qt Quick “ und „ QRhi “.
- Qt OpenAPI – Eine Erweiterung des Upstream-Open-API-Generators, der Qt-HTTP-Clients generiert, die typischerweise für RESTful-APIs verwendet werden.
- Qt TaskTree – Bietet eine deklarative Methode zum Erstellen und Ausführen asynchroner Aufgaben-Workflows.
- Qt Labs StyleKit – Eine spezielle Styling-API, die das Styling von „ Qt Quick Controls “ durch eine Reihe gemeinsamer Designattribute vereinfacht.
Die neuen Module befinden sich in der Technology Preview, wodurch ihre API von den Kompatibilitätszusagen von Qt ausgenommen ist. Wir freuen uns jedoch sehr über Feedback, um sie weiter zu verbessern! Sei es über das Qt Support Center, den Qt Bug Tracker, das Qt-Forum oder die Kommentare zu den verlinkten Blogbeiträgen.
Qt Canvas Painter-Modul
Qt Canvas Painter ist eine beschleunigte 2D-Zeichenlösung für Renderziele auf Basis von „ Qt Quick “ und „ QRhi “. Einen Überblick bietet auch die Qt-Canvas-Painter-Blogreihe.
Qt OpenAPI-Modul
Qt OpenAPI erweitert einen Open-API-Generator zur Erstellung von Qt-HTTP-Clients, die typischerweise für RESTful-APIs verwendet werden. Neben der Dokumentation bietet der Blogbeitrag „REST Better with the Support of OpenAPI in Qt 6 “ einen guten Überblick.
Qt-TaskTree-Modul
Qt TaskTree bietet eine deklarative Möglichkeit, asynchrone Aufgaben-Workflows in C++ zusammenzustellen und auszuführen. Einen Überblick bietet die Blog-Beitragsreihe „Einführung “.
Qt Labs StyleKit-Modul
Qt Labs StyleKit ist eine spezielle Styling-API, die die Styling- Qt Quick Controls en durch eine Reihe gemeinsamer Designattribute optimiert.
Neue Funktionen in Qt 6.11
ActiveQt-Modul
Keine nennenswerten Änderungen.
Qt Bluetooth Modul
Keine nennenswerten Änderungen.
Qt CoAP Modul
- QCoapClient::bindInterface ermöglicht es, die Kommunikation an eine bestimmte Netzwerkschnittstelle zu binden.
Qt Core Das Modul
- QDate ist nun schwach inkrementierbar, d. h., es implementiert Präfix- und Postfix-Inkrement- (und Dekrement-)Operatoren und kann in einem C++20-
std::views::iotaverwendet werden. - QJniObject APIs können nun mit `
std::expected` (oder einem äquivalenten Typ) als Rückgabetyp aufgerufen werden; in diesem Fall werden Java-Ausnahmen nicht vom Framework abgefangen, sondern stattdessen als unerwartetes Ergebnis an den Aufrufer zurückgegeben. - QRangeModel::ItemAccess bietet einen Anpassungspunkt für den Zugriff auf Rollendaten eines Elementtyps mit mehreren Rollen.
- QRangeModel kann nun mit C++-Bereichen verwendet werden, die keine konstante `
std::begin/end`-Implementierung bereitstellen, wie beispielsweise C++20-std::views::filter. - Bei Bereichen, die für Elemente mit mehreren Rollen dieselbe „ QObject “-Unterklasse verwenden, kann der neue „ QRangeModel::autoConnectPolicy “ auf „Full“ oder „OnRead“ gesetzt werden, um die „changed“-Signale aller exponierten Eigenschaften von „ QObject “-Elementen mit der entsprechenden Signalausgabe von „ dataChanged()“ zu verknüpfen.
- QRangeModelAdapter bietet eine typische C++-Container-API für den Bereich, in dem ein „ QRangeModel “ arbeitet, und stellt sicher, dass relevante „ QAbstractItemModel “-Signale bei Änderungen ausgegeben werden, ohne dass der Anwendercode mit „ QModelIndex “ arbeiten muss. Diese neue Klasse befindet sich in der Technologievorschau.
- Unter Windows generiert Qt nun automatisch ein Anwendungsmanifest für mit CMake erstellte ausführbare Dateien. Das Manifest leitet die Anwendungsversion aus „
PROJECT_VERSION“ ab, unterstützt die Anpassung der Projektkennung und der Ausführungsstufe über CMake-Variablen, deklariert die Kompatibilität mit Windows 10 und Windows 11 und aktiviert „longPathAware“.
Qt Concurrent Modul
Keine nennenswerten Änderungen.
Qt D-Bus Modul
Keine nennenswerten Änderungen.
Qt Graphs Modul
- Die neue Klasse „ QCustomSeries “ wurde hinzugefügt, damit Benutzer ihre eigenen 2D-Diagrammtypen erstellen können, wie z. B. Kerzen- oder Boxplot-Diagramme
- Unterstützung für mehrere Achsen bei 3D-Diagrammen in Form der Eigenschaften „ rowAxis “, „ valueAxis “ und „ columnAxis “ in „ QBar3DSeries “ sowie der Eigenschaften „ axisX “, „ axisY “ und „ axisZ “ in „ QScatter3DSeries “ und QSurface3DSeries
- Die Eigenschaften „ subSlicesCount “, „ subSlicesSum “, „ subSlicesRatio “ und „ sliceChildren “ wurden in „ QPieSlice “ hinzugefügt, um das Erstellen von Teilschnitten in Kreis- und Ringdiagrammen zu ermöglichen
- In QDateTimeAxis und QValueAxis wurden die Eigenschaften „ visualMin “ und „ visualMax “ hinzugefügt, um die sichtbaren Achsenbereiche festzulegen
- Die Eigenschaften „ gradient “ und „ selectedGradient “ wurden in „ QAreaSeries “ hinzugefügt, um die Verwendung von Farbverläufen in Flächendiagrammen zu ermöglichen
- Die Eigenschaft „ labelPosition “ wurde in „ QBarCategoryAxis “ hinzugefügt, um die Anpassung der Beschriftungsplatzierung in Balkendiagrammen zu ermöglichen
- Die Eigenschaft „ timeZone “ wurde in „ QDateTimeAxis “ hinzugefügt, um die Einstellung einer eigenen Zeitzone für die Achse zu ermöglichen
- Die Eigenschaften „ pan “ und „ zoom “ wurden in „ QDateTimeAxis “ hinzugefügt, um das Verschieben und Zoomen auf dieselbe Weise wie in QValueAxis
- Die Eigenschaften „ color “ und „ subColor “ wurden in „ QAbstractAxis “ hinzugefügt, um das Überschreiben der Themenfarben für die Achsen zu ermöglichen
- Die Eigenschaften „ joinStyle “, „ lineStyle “, „ strokeStyle “, „ dashOffset “ und „ dashPattern “ wurden in „ QLineSeries “ hinzugefügt, um eine weitere Gestaltung von Liniendiagrammen zu ermöglichen
- Die Eigenschaft „ optimized “ wurde in „ QSplineSeries “ hinzugefügt, um die Verwendung der Catmull-Rom-Interpolation anstelle der leistungsintensiveren und genaueren Standardmethode zu ermöglichen
- Die Eigenschaften „ customRowLabels “ und „ customColumnLabels “ wurden in „ QBar3DSeries “ hinzugefügt, um das Überschreiben von Zeilen- und Spaltenbeschriftungen zu ermöglichen
- Die Eigenschaft „ rotationAbsolute “ wurde in „ QCustom3DItem “ hinzugefügt, um Probleme bei benutzerdefinierten Elementdrehungen zu beheben
- Die Eigenschaft „ rowsSanitized “ wurde in „ QSurface3DSeries “ hinzugefügt, um Zeilen mit ungültigen Daten automatisch zu entfernen
- cutoffMargin in „ GraphsItem3D “ und „ Q3DGraphsWidgetItem “ hinzugefügt, um die Empfindlichkeit beim Ausblenden von Elementen in der Nähe der Diagrammränder anzupassen
- Unterstützung für mehrere „ QBarSeries “ in einem „ GraphsView “ hinzugefügt.
- Unterstützung für negative Werte in „ QBarSeries “ hinzugefügt.
- Unterstützung für ungültige Werte in „ LineSeries “ hinzugefügt, die zu visuellen Lücken führen.
Qt GRPC Modul
- QtGrpc wurde um den neuen Mechanismus „Client Interception“ erweitert, der das Abfangen und Ändern ausgehender Anfragen und eingehender Antworten ermöglicht.
- Qt 6.11 fügt Vergleichsoperatoren (
operator==undoperator!=) für QGrpcCallOptions und QGrpcChannelOptions hinzu, wodurch direkte Gleichheitsprüfungen zwischen Optionsobjekten ermöglicht werden. - QGrpcOperation Die Klasse führt ein Signal „ serverInitialMetadataReceived()“ ein, das RPC-Handler benachrichtigt, sobald die anfänglichen Metadaten des Servers empfangen wurden.
- QGrpcChannelOptions Die Klassen „ QGrpcCallOptions “ und „ “ bieten nun die Methoden „ filterServerMetadata()“ und „ setFilterServerMetadata()“, um zu steuern, ob protokollbezogene Metadaten in Serverantworten enthalten sind.
- Der Namespace „ QtGrpc “ führt die Enumeration „ RpcType “ und die Struktur „ RpcDescriptor “ ein, um gRPC-Methoden anhand ihres Servicenamens, Methodennamens und Kommunikationsmusters zu beschreiben.
Qt GUI Modul
- Barrierefreiheitsereignisse des neuen Typs `QAccessible::RoleChange` werden vom Docking-Fenster-Framework ausgelöst, wenn Docking-Widgets zwischen angedocktem und schwebendem Modus wechseln.
- Die neue Barrierefreiheitsrolle „ Switch “ wird vom Typ „Switch“ in „ Qt Quick Controls “ verwendet.
- Das neue barrierefreie Attribut „ Orientation “ wird von Schiebereglern und ähnlichen Steuerelementen verwendet, um ihre Ausrichtung an Barrierefreiheits-Clients zu melden.
- QRawFont Es gibt nun eine API, um den „ glyphCount “ () abzurufen und den „ glyphName “ () für einen Glyphenindex der Schriftart nachzuschlagen.
- QTextCharFormat Es gibt neue APIs zum Setzen von „ font features “ und „ variable axes “.
Qt Help Modul
Keine nennenswerten Änderungen.
Qt HTTP Server Modul
- Unterstützung für HTTP/1.0-Clients hinzugefügt.
- QHttpServerConfiguration setMaximumUrlSize setMaximumTotalHeaderSize setMaximumHeaderFieldSize setMaximumHeaderFieldCount setMaximumBodySizeXML-Ph-0000@deepl.internal
- Route-Handler können nun „
QFuture<void>“ zurückgeben und mithilfe eines „ QHttpServerResponder “ &&-Arguments in einem anderen Thread antworten, wodurch die rechenintensive Bearbeitung von Anfragen aus dem Hauptserver-Thread ausgelagert werden kann. Bei HTTP/2-Verbindungen können mehrere Anfragen gleichzeitig verarbeitet werden, während HTTP/1.x-Verbindungen Anfragen sequenziell verarbeiten, aber dennoch von der Hintergrundverarbeitung profitieren. Die Socket-E/A verbleibt stets im Thread „ QHttpServer “. - isResponseCanceled() wurde zu ` QHttpServerResponder` hinzugefügt, wodurch Handler erkennen können, wann ein Client die Verbindung getrennt hat, und vorzeitig beendet werden können, um unnötige Verarbeitung zu vermeiden.
Qt Image Formats Modul
Einige mitgelieferte Module von Drittanbietern wurden aktualisiert, siehe „Änderungen an den Lizenzen“.
Qt Lottie Animation
- Unterstützung für Regeln zur Pfadausfüllung hinzugefügt.
- Der CMAKE-Befehl ` qt_target_qml_from_lottie ` wurde hinzugefügt, um bei der Erstellung von Lottie in QML zu konvertieren.
- Die Backends„lottietoqml“ und „ VectorImage “ befinden sich nicht mehr in der Tech-Preview-Phase.
- VectorImage: Unterstützung für die Animation von Formen entlang von Pfaden hinzugefügt.
- VectorImage: Unterstützung für Morphing-Animationen (Interpolation zwischen zwei Formen) hinzugefügt.
- VectorImage: Unterstützung für Matte-Ebenen hinzugefügt.
Qt MQTT Modul
Keine nennenswerten Änderungen.
Qt Multimedia Modul
- Es wurden callback-basierte Überladungen für die Startmethoden von „ QAudioSource “ und „ QAudioSink “ hinzugefügt, um eine Audioverarbeitung in Echtzeit zu ermöglichen.
Qt Network Modul
- QNetworkRequest kann nun die TCP-Keep-Alive-Parameter für die aktuelle Anfrage festlegen. Außerdem wurden die Standard-TCP-Keep-Alive-Parameter in „ QNetworkAccessManager “ geändert, sodass inaktive Verbindungen nun nach zwei Minuten Inaktivität beendet werden.
Qt Network Autorisierungsmodul
Keine nennenswerten Änderungen.
Qt NFC Modul
Keine nennenswerten Änderungen.
Qt OPC UA Modul
- Das mitgelieferte Open62541 wurde auf Version 1.4.13 aktualisiert. Siehe auch „Änderungen an der Lizenz“.
Qt OpenGL Modul
Keine nennenswerten Änderungen.
Qt Positioning Modul
- Qt für WebAssembly-Anwendungen kann nun die GeoLocation-API des Browsers als Backend nutzen.
Qt-PrintSupport-Modul
- Verbesserungen der Barrierefreiheit bei Druckdialogen: Es wurden Label-Buddies und eine korrekte Fokusreihenfolge eingerichtet, um die Unterstützung von Screenreadern und die Tastaturnavigation zu verbessern.
Qt Protobuf Modul
- Die Funktion ` qprotobufmessage_cast()` ermöglicht ein sicheres Downcasting von ` QProtobufMessage `-Zeigern. Ähnlich wie bei ` qobject_cast()` oder `
dynamic_cast()` ermöglicht sie eine einfache und sichere Typüberprüfung und -konvertierung zur Laufzeit.
Qt Qml Modul
- Unterstützung für Arbeitsbereiche in ` QML Language Server` hinzugefügt.
- Unterstützung für „Gehe zur C++-Definition“ in „ QML Language Server “ hinzugefügt.
- Unterstützung hinzugefügt, um Warnungen zu Kontexteigenschaften über eine Konfigurationsdatei von „
.contextProperties.ini“ für qmllint zu unterdrücken. - Es wurden die Schlüsselwörter „
override“ und „virtual“ eingeführt, die zusammen mit dem bereits vorhandenen Schlüsselwort „final“ und der Tooling-Unterstützung dazu beitragen, versehentliches „Property Shadowing“ zu verhindern und explizites Überschreiben von Eigenschaften in QML zu ermöglichen. Weitere Informationen finden Sie unter „Property Shadowing and Override Semantics “. - Dem Werttyp „ easingCurve “ wurde ein Name zugewiesen und der Namespace „Easing“ in ein Singleton umgewandelt.
- Es wurden APIs zu „ QQmlContext “ hinzugefügt, um die „ list of child contexts “ abzurufen, sowie zu „ find an object by id “.
- Die Option „GroupAttributesTogether“ wurde zu „qmlformat“ hinzugefügt. Diese impliziert die Option „NormalizeOrder“ und ordnet die QML-Kategorien neu an, ohne die Attribute (Eigenschaftsdefinitionen, Eigenschaftsbindungen, Methoden, Signale und Aufzählungen) zu sortieren.
- Die Option „SingleLineEmptyObjects“ wurde zu „qmlformat“ hinzugefügt. Dies verhindert, dass sich leere Objekte auf eine zweite Zeile ausdehnen.
Qt Quick Modul
- Der CMAKE-Befehl „qt_target_qml_from_svg“ wurde hinzugefügt, um SVG-Dateien zur Erstellungszeit in QML zu konvertieren.
- Es wurden APIs zu „ Flickable “ hinzugefügt, um die Ansicht über „ position “ oder „ flick “ an ein untergeordnetes Element zu binden sowie „ flick to a position “ auszuführen.
Qt Quick Controls Modul
- DoubleSpinBox wurde hinzugefügt, das ähnlich wie SpinBox funktioniert, jedoch Gleitkommawerte unterstützt.
- defaultButton und defaultStandardButton wurden zu DialogButtonBox hinzugefügt. Wenn diese Option gesetzt ist, wird die entsprechende Schaltfläche hervorgehoben und erhält „activeFocus“, sobald die DialogButtonBox den Fokus erhält.
Qt Quick Dialogs Modul
Keine nennenswerten Änderungen.
Qt Quick Effects Modul
- Qt 6.11 fügt „ RectangularShadow “ vier neue Eigenschaften für die unabhängige Steuerung der Eckenradien hinzu: „ topLeftRadius “, „ topRightRadius “, „ bottomLeftRadius “ und „ bottomRightRadius “. Jede Eigenschaft greift auf die bestehende Eigenschaft „ radius “ zurück, wenn sie nicht gesetzt ist, oder erzeugt bei einem Wert von Null eine scharfe Ecke, was flexiblere Schattenformen mit unterschiedlichen Eckenradien pro Ecke ermöglicht.
Qt Quick Layouts Modul
Keine nennenswerten Änderungen.
Qt Quick Particles Modul
Keine nennenswerten Änderungen.
Qt Quick Timeline Modul
Keine nennenswerten Änderungen.
Qt Quick Test Modul
Keine nennenswerten Änderungen.
Qt Quick Widgets-Modul
Keine nennenswerten Änderungen.
Qt Quick 3D Modul
- QML-API für benutzerdefinierte Render-Pässe hinzugefügt, wodurch benutzerdefinierte Rendering-Pipelines direkt in QML ohne C++-Kenntnisse möglich sind
- Die Eigenschaft „ ssrEnabled “ wurde in „ ExtendedSceneEnvironment “ hinzugefügt, um Screen-Space-Reflexionen (SSR) zu ermöglichen
- Der „ ExtendedSceneEnvironment “-Effekt wurde um Screen-Space Global Illumination (SSGI) erweitert, wodurch Ambient Occlusion und indirekte Beleuchtung in Echtzeit bereitgestellt werden
- Erzeugung von Bewegungsvektoren pro Objekt für Temporal AA und Bewegungsunschärfeeffekte hinzugefügt
- Unterstützung für Ebenen hinzugefügt, um Knoten zu gruppieren und zu steuern, welche Ebenen die Kamera rendert
- Rendering-Methode „Order-Independent Transparency (OIT)“ für verknüpfte Listen hinzugefügt
- Unterstützung für „
NORMAL_ROUGHNESS_TEXTURE“ in Nachbearbeitungseffekten und benutzerdefinierten Materialien hinzugefügt - „Blue Noise“-Abtastung für PCF-Soft-Schatten hinzugefügt, um die Qualität zu verbessern und sichtbare Rauschmuster zu reduzieren
- Korrekte Verarbeitung von vormultipliziertem Alpha für „ Qt Quick “-Inhalte in Texturen hinzugefügt
VIEW_MATRIXund „PROJECTION_MATRIX“ wurden als Belichtungsoptionen für Nachbearbeitungseffekte hinzugefügt- Die Methode „ pickInRect()“ wurde in „ View3D “ für die rechteckbasierte Objektauswahl hinzugefügt
- Die Methode ` closestPointPick()` wurde in ` View3D ` hinzugefügt, um den Punkt auf einer Oberfläche zu finden, der einem gegebenen Punkt am nächsten liegt
- Überladung von ` rayPick()` hinzugefügt, die einen bestimmten Modellparameter akzeptiert
- Es wurde eine Szenenform für Partikelemitter hinzugefügt, die Formen dynamisch auf Basis der Szenengeometrie berechnet
- QQuick3DTextureProviderExtension -API hinzugefügt zur vereinfachten Erstellung benutzerdefinierter Textur-Provider
- Die Funktion „ scheduleRenderResults()“ wurde in „ QSSGFrameData “ hinzugefügt, um bestimmte Ergebnisse von Render-Pässen abzufragen
- Assimp auf Version 6.0.2 aktualisiert
Qt Quick 3D XR-Modul
- Unterstützung für OpenGL auf Linux-Desktops hinzugefügt (Monado-, Xlib- und Wayland-Plattformen)
- processTouch() wurde erweitert, um Touch-Ereignisse an jedes auswählbare Model zu übermitteln, nicht nur an XrItem
- touchpointState() wurde erweitert, um Informationen zur Oberflächenposition und zum Normalenvektor für 3D-Touch-Interaktionen zurückzugeben
- Unterstützung für Popups und Menüs in ` XrItem ` durch ein spezielles `QQuickOverlay` hinzugefügt
- OpenXR wurde auf Version 1.1.49 aktualisiert
Qt Quick 3D Physikmodul
Keine nennenswerten Änderungen.
Qt Quick VectorImage-Modul
- Unterstützung für SVG-Masken hinzugefügt.
- Unterstützung für SVG-Nachbearbeitungsfilter hinzugefügt, entsprechend der Unterstützung in Qt SVG: feGaussianBlur, feColorMatrix, feOffset, feFlood, feBlend, feComposite und feMerge.
- Unterstützung für die Animation von Formen entlang von Pfaden hinzugefügt.
- Unterstützung für das SVG-Tag <symbol> hinzugefügt.
Qt Serial Port Modul
Keine nennenswerten Änderungen.
Qt Serial Bus Modul
Keine nennenswerten Änderungen.
Qt SQL-Modul
Keine nennenswerten Änderungen.
Qt SVG Modul
- Unterstützung für CSS-Bewegungspfad-Animationen über „
offset-path“ und „offset-distance“ hinzugefügt. Beachten Sie, dass „offset-path“ nur die Funktion „path“ zur Definition eines Pfades unterstützt. - Unterstützung für CSS-Animations-Timing-Funktionen für eine Animation als Ganzes hinzugefügt. Derzeit werden nur die vordefinierten Schlüsselwörter unterstützt (
linear,step-start,easeusw.).
Qt Test Modul
- Die Funktion ` QTest::currentGlobalDataTag()` wurde hinzugefügt, um den Namen der aktuellen globalen Testdaten abzurufen.
- QTest::defaultTryTimeout wurde hinzugefügt, um die Konfiguration des von den QTRY_*-Funktionen verwendeten Standard-Timeouts zu ermöglichen.
- QCOMPARE gibt nun das Vorzeichen für negative Nullen und NaN-Werte aus und zeigt NaN-Nutzdaten an.
- QTEST_THROW_ON_FAIL sowie QTEST_THROW_ON_SKIP funktionieren nun, wenn QCOMPARE/QSKIP aus QtConcurrent heraus aufgerufen wird.
- QTest::failOnWarning() schlägt nun bei jedem Nachrichtentyp >= „Warnung“ fehl, einschließlich kritischer Nachrichten.
- Unter macOS werden der Bildschirm-Ruhemodus und App Nap nun für die gesamte Testausführung bedingungslos deaktiviert.
- Die Callgrind-Unterstützung wurde auf Valgrind v3.25.1 aktualisiert und unterstützt nun auch RISCV-64-Bit-Linux.
Qt-VirtualKeyboard-Modul
- Qt 6.11 führt die Eigenschaft „ arrowKeyNavigationEnabled “ in „ VirtualKeyboardSettings “ ein, mit der Entwickler steuern können, ob die Pfeiltasten (Links, Rechts, Auf, Ab) und die Eingabetaste zur Navigation zwischen den Tastaturtasten verwendet werden können, wenn das Eingabefeld sichtbar ist. Der Standardwert der Eigenschaft basiert auf dem Konfigurationsflag „
QT_VIRTUALKEYBOARD_ARROW_KEY_NAVIGATION“ zur Kompilierungszeit. - Die Eigenschaft „ keyboardDesignMaximumHeight “ wurde dem Typ „ KeyboardStyle “ hinzugefügt. Verwenden Sie diese Eigenschaft, um zu verhindern, dass die Tastatur den größten Teil des Bildschirms überdeckt.
Qt WebEngine Das Modul
- Qt WebEngine basiert nun auf Chromium 140.
- Chromium hat neue Rust-Komponenten hinzugefügt, die ihre C++-Entsprechungen ersetzen sollen. „ Qt WebEngine “ kann nun optional unter Verwendung dieser Rust-Komponenten kompiliert werden. Dazu ist die Installation einer Rust-Toolchain und die Konfiguration mit „
-feature-webengine-rust-build“ erforderlich. Standardmäßig erfolgt die Kompilierung mit den älteren C++-Komponenten. - Es wurde die Richtlinie „ OnlyPersistentCookies “ hinzugefügt, um zu verhindern, dass Sitzungs-Cookies auf der Festplatte gespeichert werden.
- Es wurde die Einstellung „ TrimAccessibilityIdentifiers “ hinzugefügt, um zu erzwingen, dass HTML-„id“-Attribute als Automatisierungs-IDs für die Barrierefreiheit verwendet werden.
- Unterstützung für das globale HTML-Attribut „
inputmode“ wurde hinzugefügt. - Die Verarbeitung von Weiterleitungen zu ressourcenübergreifenden Ressourcen durch die „
fetch()“-API wurde verbessert. - Pepper-Plugin-API-Code wurde entfernt.
- Die Debug-Seite für „
chrome://usb-internals“ wurde aktiviert.
Qt WebView Modul
- C++-Bindungen für „ WebView “ wurden hinzugefügt, sodass Sie das Modul in Anwendungen auf Basis von „ Qt Widgets “ nutzen können. Die neuen C++-APIs werden im Status „Technology Preview“ veröffentlicht und können sich in Zukunft noch ändern.
Qt Widgets Modul
- QWizard Das Modul „ StretchBanner “ verfügt nun über eine neue Option, mit der das Banner über die gesamte Breite des Assistenten gestreckt werden kann.
- QAbstractItemView verfügt nun über eine neue Eigenschaft „ keyboardSearchFlags “, mit der sich einstellen lässt, wie die Standardimplementierung von `keyboardSearch()` die angegebene Zeichenfolge mit den Daten des Modells abgleicht.
- QColumnView verfügt nun über eine neue Eigenschaft „ previewColumnVisible “, die festlegt, ob die Vorschauspalte sichtbar ist.
- Die neue Klasse „ QStyleOptionMenuItemV2 “ fügt ein Flag hinzu, das angibt, ob die Maustaste auf dem Element gedrückt ist, das durch den Stil gerendert wird.
- QTabBar Gibt nun „ tabCloseRequested “ aus, wenn bei aktivem „ tabsClosable “ mit der mittleren Maustaste auf eine Registerkarte geklickt wird.
Qt XML Modul
Keine nennenswerten Änderungen.
Werkzeuge
QDoc-Dokumentationsgenerator
- Umfassende Unterstützung für QML-Singleton-Typen hinzugefügt, einschließlich eines neuen Befehls „
\qmlsingletontype“, der automatischen Erkennung des Makros „QML_SINGLETON“ und der Erkennung von „pragma singleton“ in QML-Dateien. - QDoc bietet nun vollständige Unterstützung für QML-Modul-Aliase (Syntax „
import ... as ...“), einschließlich Verknüpfung, Syntaxhervorhebung für qualifizierte Bezeichner und korrekter Markup-Auszeichnung für Eigenschaftsnotationen wie „anchors.fill“ sowie für angehängte Eigenschaften wie „Component.onCompleted“. - Sie können den neuen Befehl „
\toc/\endtoc“ sowie „\tocentry“ verwenden, um hierarchische Inhaltsverzeichnisstrukturen in Dokumentationsquelldateien festzulegen. QDoc generiert „<project>_toc.xml“-Dateien für Navigationsseitenleisten. - Der \overload Befehl akzeptiert nun ein optionales Argument. Verwenden Sie die Syntax „
\overload primary“, um die primäre Funktion in einem Überladungssatz zu kennzeichnen. - QDoc generiert nun kontextbezogene Verbindungsbeispiele für überladene Signale und Slots.
- Die Konfigurationsvariable „
includeprivate“ ermöglicht die Dokumentation privater C++-Mitglieder. Rein virtuelle Funktionen werden nun bedingungslos dokumentiert. - C++20-Konzepte: QDoc extrahiert und zeigt nun C++20-„requires“-Klauseln für Funktions- und Klassenvorlagen an. Sowohl „template-head“- als auch „trailing“-Einschränkungen werden unterstützt.
- Der \code Befehl akzeptiert nun ein optionales Argument zur Angabe der Programmiersprache für den Codeblock. Verwenden Sie „text“, um die Syntaxhervorhebung zu deaktivieren.
- Das Argument „
\meta keywords“ fügt benutzerdefinierte Schlüsselwörter als HTML-<meta>-Elemente zur Suchmaschinenoptimierung und Nachbearbeitung hinzu. - Die explizite Verknüpfung mit QML-„attached“-Eigenschaften wird nun mithilfe des Verknüpfungskriteriums „attached“ unterstützt, wodurch bei Konflikten zwischen regulären und „attached“-Eigenschaftsnamen eine Eindeutigkeit hergestellt werden kann.
- Vorlagendeklarationen mit mehr als zwei Parametern werden nun zur besseren Lesbarkeit mehrzeilig dargestellt. Die HTML-Ausgabe verwendet die CSS-Klasse „
template-block“ für benutzerdefinierte Formatierungen. - QDoc warnt nun vor undokumentierten C++-Eigenschaften, die mit „
Q_PROPERTY“ deklariert wurden, und gewährleistet so eine konsistente Dokumentationsabdeckung über alle API-Elemente hinweg. - QDoc gibt nun Warnungen zu Selbstverweisen in „
\sa“-Befehlen aus, bei denen ein Dokument auf sich selbst verweist. - Die Konfigurationsvariable „
logwarnings“ bewirkt, dass QDoc alle Warnungen in eine „<project>-qdoc-warnings.log“-Datei schreibt. Die neue Unteroption „logwarnings.disablecliargs“ lässt CLI-Argumente im Protokollkopf weg, um portable Protokolle zu ermöglichen. - QDoc-Warnungen enthalten nun bei Builds mit mehreren Modulen das Präfix des Projektnamens.
- Verbesserungen an der Konfiguration:
codelanguages: Legt zusätzliche Programmiersprachen fest, die in „ \code “-Blöcken akzeptiert werden, sodass die Dokumentation Code in Sprachen enthalten kann, für die keine integrierten Markierungen zur Syntaxhervorhebung vorhanden sind.imagesoutputdir: Benutzerdefiniertes Ausgabeverzeichnis für Bilder, um Dateinamenkonflikte bei Builds mit mehreren Modulen zu vermeiden.internalfilepatterns: Markiert Klassen automatisch als „internal“, basierend auf Datei- oder Pfadnamensmustern wie „*_p.h“.projectroot: Legt das Stammverzeichnis fest, anhand dessen absolute Pfade in Warnprotokollen in relative Pfade umgewandelt werden, was die Portabilität zwischen verschiedenen Build-Umgebungen verbessert. Auch als Umgebungsvariable „QDOC_PROJECT_ROOT“ verfügbar.
- Formatierungsbefehle funktionieren nun in „
\title“-Argumenten, „\generatelist“ funktioniert korrekt in den Inhaltsverzeichnissen von Qt Help-Projekten, und benutzerdefinierte Enumerator-Präfixe werden in „\qmlenum“ unterstützt. - Die HTML-Struktur für die QML- und C++-Member-Dokumentation wurde vereinheitlicht. Diese Änderung führt neue CSS-Klassen (
qml-member,qml-property,qml-method,qml-property-group) in der HTML-Ausgabe von QDoc ein. - Code-Parsing: Verbesserte Auflösung von Enums mit Gültigkeitsbereich, Behandlung der QML-Vererbung mit Zykluserkennung sowie korrekte Beibehaltung deklarierter Typen und Variableninformationen in Indexdateien.
- Kompatibilität mit LLVM/Clang 21 hinzugefügt, wobei die minimal unterstützte Version auf 17.0.6 aktualisiert wurde.
- Der Befehl „
\tableofcontents“ ist offiziell veraltet.
Qt Linguist
- Es wurden Labels hinzugefügt, um ID-basierte Übersetzungen in sinnvolle Gruppen zu kategorisieren, ohne das Laufzeitverhalten zu beeinflussen. Weitere Details finden Sie in der Dokumentation zu Text-ID-basierten Übersetzungen und im Blogbeitrag.
- Der Dokumentation wurden neue i18n-Beispiele hinzugefügt.
- Es wurde eine KI-Übersetzung für „ Qt Linguist “ hinzugefügt, um automatische Übersetzungen mithilfe von LLMs zu ermöglichen. Weitere Details finden Sie in der Dokumentation zur KI-Übersetzung und im Blogbeitrag.
- Das Programm „ltext2id“ wurde hinzugefügt, um Projekte von textbasierten Übersetzungen auf ID-basierte Übersetzungen umzustellen. Weitere Details finden Sie unter „Verwendung von ltext2id “.
- Das Programm „lcheck“ wurde hinzugefügt, um eine Batch-Validierung von TS-Dateien durchzuführen. Weitere Details finden Sie unter „Verwendung von lcheck “.
- Unterstützung für C++-Attribute im lupdate-Parser hinzugefügt
- Die Verwendung von //= Metastrings im lupdate-Parser ist veraltet.
- Die Option „
lupdate -pro“ zur direkten Verarbeitung von .pro-Dateien wurde als veraltet markiert. Verwenden Sie stattdessen „lupdate-pro“. - Das Programm „lprodump“ wurde entfernt. Seine Funktionalität ist nun über die Option „
lupdate-pro -dump-json“ verfügbar.
Änderungen am Build-System
Änderungen am Build-System
- Die Konfigurationsoption -generate-vcpkg-manifest wurde hinzugefügt. Diese generiert eine vcpkg.json-Datei im Build-Verzeichnis. Um das Manifest nur zu generieren, ohne Qt zu konfigurieren, führen Sie „configure“ mit der Option -generate-vcpkg-manifest -dry-run aus.
- Wenn Sie mit „-vcpkg“ konfigurieren, wird eine vcpkg-Manifestdatei im Build-Verzeichnis generiert; setzen Sie „VCPKG_MANIFEST_DIR“ auf das Build-Verzeichnis, um diese Manifestdatei zu verwenden. Sie können die Generierung des Manifests mit „-no-generate-vcpkg-manifest“ deaktivieren. Sie können die Festlegung des Manifestverzeichnisses deaktivieren, indem Sie „
-- -UVCPKG_MANIFEST_DIR“ an „configure“ übergeben. - Es wurde Unterstützung für die Erstellung von CycloneDX -SBOM-Dokumenten zusätzlich zum bestehenden SPDX-Format hinzugefügt. Um die CycloneDX-Erstellung zu aktivieren, konfigurieren Sie Qt mit `
-sbom -sbom-cyclonedx-v1_6 -sbom-cyclonedx-v1_6-required`.
Desktop-Plattformen
Windows
- Unterstützung und Erkennung von Windows 11 25H2 (Build 10.0.26200) wurde über ` QOperatingSystemVersion` hinzugefügt.
- Es wurden verschiedene Verbesserungen hinsichtlich der Barrierefreiheit bei Fenstern der obersten Ebene und beim Fokus vorgenommen.
- Verbesserte Handhabung der Aktualisierung der Bildwiederholrate.
- Es wurde experimentelle Unterstützung für ARM64EC bei der Verwendung von Visual Studio 2026 hinzugefügt. Um diese Konfiguration zu nutzen, fügen Sie
/arm64ECzuCFLAGSsowie/arm64ECund/d2arm64ECMarkAllFuncsPatchablezu IhrenCXXFLAGS-Umgebungsvariablen auf Ihrem Windows-on-ARM-Rechner hinzu und konfigurieren und kompilieren Sie Qt wie gewohnt.
Linux
- Das Wayland-Plugin wurde um serverseitige Tastenwiederholung, die Priorisierung serverseitiger Dekorationen, experimentelle Unterstützung für
xx-session-management-v1sowie zahlreiche Stabilitätskorrekturen (Popups, Scrollen, Offscreen-Flächen, Zwischenablage) erweitert. - Die veraltete native X11-Rendering-Engine (XRender) für XCB wurde entfernt. Die Verwendung dieser Engine erforderte die Aktivierung zur Kompilierungszeit über eine CMake-Option (
-xcb-native-painting) sowie zur Laufzeit über die Umgebungsvariable „QT_XCB_NATIVE_PAINTING“. - Die Barrierefreiheit wurde durch die Unterstützung der AT-SPI-Collection-Schnittstelle verbessert, die einen effizienteren Mechanismus zum Abrufen barrierefreier Objekte innerhalb der Barrierefreiheitshierarchie einer Anwendung bietet. Diese Schnittstelle ermöglicht zudem die Unterstützung des Durchsichtmodus im Orca-Bildschirmleseprogramm.
- XKB: Die Tastenbelegung wurde für „ Qt::Key_Call “ und „ Qt::Key_Hangup “ erweitert.
macOS
- Sandbox-Anwendungen können nun sowohl auf Dateien außerhalb der Anwendungs-Sandbox (sogenannte „Security Scoped Resources“) zugreifen als auch diese lesen und schreiben. Dateien oder Ordner, die vom Benutzer über Dateidialoge oder ähnliche native Mechanismen ausgewählt werden, werden automatisch und transparent verarbeitet, einschließlich eines dauerhaften Zugriffs über Anwendungs- und Geräte-Neustarts hinweg.
- QNativeInterface::QCocoaScreen wurde für den Zugriff auf das zugrunde liegende `NSScreen` hinzugefügt.
- Die Konvertierung zwischen CGImageRef und QImage unterstützt nun eine größere Bandbreite an Bildformaten, darunter „ QImage::Format_RGB30 “ sowie Gleitkommaformate, die für HDR-Inhalte wichtig sind.
- Die Apple-Icon-Engine berücksichtigt nun die Layoutrichtung des „Painters“ und erzeugt RTL-spezifische Icons, sofern diese im SF Symbols-Icon-Set verfügbar sind.
- Über native Öffnen-/Speichern-Dialoge ausgewählte Dateipfade werden nun NFC-normalisiert, wodurch ein konsistenter Vergleich von Dateinamen gewährleistet ist, unabhängig davon, ob das Dateisystem Namen im NFD-Format speichert.
Mobile Plattformen
Android
Qt für Android
- Qt Jenny unterstützt nun die Implementierung von Java-Schnittstellen und die Erweiterung von Java-Klassen in C++.
- Unterstützung für „Feature Delivery“ im Play Store.
- Unterstützung für Android 16.
- Aktualisierung auf Gradle 9.3.1 und das Android Gradle Plugin 9.0.0.
- Aktualisierung auf JDK 21 LTS und Erweiterung der Kompatibilität auf JDK 17 LTS.
Qt Quick für Android
- „QtQuickView.invokeMethod()“ zum Aufruf von QML-Funktionen aus Java/Kotlin hinzugefügt.
- Unterstützung für die Registrierung von Signalen, bevor die QML-Ansicht geladen wird.
iOS
- Unterstützung für Dateisymbole im Plattform-Design hinzugefügt.
- Unterstützung für „ QFileOpenEvent “ für externe Anfragen zum Öffnen von Dateien hinzugefügt.
- Sandbox-Anwendungen können nun sowohl auf Dateien außerhalb der Anwendungs-Sandbox (sogenannte „Security Scoped Resources“) zugreifen als auch diese lesen und schreiben. Dateien oder Ordner, die vom Benutzer über Dateidialoge oder ähnliche native Mechanismen ausgewählt werden, werden automatisch und transparent verarbeitet, einschließlich des dauerhaften Zugriffs über Anwendungs- und Geräte-Neustarts hinweg.
- Unterstützung für native Speicherdialoge hinzugefügt.
Eingebettete Plattformen
Linux
- EGLFS/KMS unterstützt nun das Hot-Plugging und Hot-Reloading von Bildschirmen zur Laufzeit (gesteuert durch die Umgebungsvariable `
QT_QPA_EGLFS_HOTPLUG_ENABLED`). - Ein neues, auf ConnMan basierendes QNetworkInformation -Backend wurde hinzugefügt.
- DirectFB: Qt::Key_Call -Zuordnung wurde hinzugefügt.
Boot to Qt
- Neue Tier-2-Plattformen:
- NXP i.MX 8M Plus LDDPR4 EVK
- Toradex i.MX 95 Verdin
- Qualcomm RB3 Gen2 Vision Kit
Web-Plattformen
WebAssembly
- Qt Positioning Es gibt nun ein Backend für die GeoLocation-API.
- Verwenden Sie das neue Tool „
wasmdeployqt“, um dynamisch verknüpfte Qt-für-WebAssembly -Anwendungen bereitzustellen und zu veröffentlichen. Dies ersetzt die bisherigen Python-Skripte „preload_qt_plugins.py“ und „preload_qml_imports.py“.
Liste der API-Änderungen
Diese Seiten enthalten eine Übersicht über die API-Änderungen in Qt 6.11:
Bekannte Probleme
Informationen zu bekannten Problemen in Qt 6.11 finden Sie im Qt-Wiki.
© 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.