Was ist neu in Qt 6.11
Neue Module in Qt 6.11
Qt 6.11 fügt die folgenden Module hinzu:
- Qt Canvas Painter - Eine beschleunigte 2D-Malerei-Lösung für Qt Quick und QRhi-basierte Renderziele.
- Qt OpenAPI - Eine Erweiterung des Upstream-Open-API-Generators, der Qt-HTTP-Clients erzeugt, die typischerweise für RESTful-APIs verwendet werden.
- Qt TaskTree - Bietet eine deklarative Möglichkeit, asynchrone Task-Workflows zusammenzustellen und auszuführen.
- Qt Labs StyleKit - Eine spezielle Styling-API, die das Styling von Qt Quick Controls durch eine Reihe gemeinsamer Design-Attribute vereinfacht.
Die neuen Module befinden sich in der Technologievorschau, was ihre API von den Kompatibilitätsversprechen von Qt ausschließt. Wir freuen uns aber 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 der verlinkten Blogbeiträge.
Qt Canvas Painter Modul
Qt Canvas Painter ist eine beschleunigte 2D-Mal-Lösung für Qt Quick und QRhi-basierte Renderziele. Siehe auch die Blogserie Qt Canvas Painter für einen Überblick.
Qt OpenAPI-Modul
Qt OpenAPI erweitert einen Open-API-Generator, um Qt HTTP-Clients zu erzeugen, die typischerweise für RESTful-APIs verwendet werden.
Qt TaskTree-Modul
Qt TaskTree bietet eine deklarative Möglichkeit, asynchrone Task-Workflows in C++ zusammenzustellen und auszuführen. Einen Überblick finden Sie in der Blogbeitragsreihe Einführung.
Qt Labs StyleKit-Modul
Qt Labs StyleKit ist eine spezielle Styling-API, die das Styling von Qt Quick Controls durch eine Reihe gemeinsamer Design-Attribute vereinfacht.
Neue Funktionen in Qt 6.11
ActiveQt-Modul
Keine nennenswerten Änderungen.
Qt Bluetooth Modul
Keine nennenswerten Änderungen.
Qt CoAP Modul
- QCoapClient::bindInterface ermöglicht die Bindung der Kommunikation an eine bestimmte Netzwerkschnittstelle.
Qt Core Das Modul
- QDate ist jetzt schwach inkrementierbar, d.h. es implementiert Pre- und Post-Fix-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 verbraucht und stattdessen als unerwartetes Ergebnis an den Aufrufer zurückgegeben. - QRangeModel::ItemAccess bietet einen Anpassungspunkt für den Zugriff auf Rollendaten eines Multi-Rollen-Elementtyps.
- QRangeModel kann jetzt mit C++-Bereichen verwendet werden, die keine konstante
std::begin/end-Implementierung bieten, wie z. B. C++20std::views::filter. - Bei Bereichen, die dieselbe QObject Unterklasse für Multi-Rollen-Elemente verwenden, kann das neue QRangeModel::autoConnectPolicy auf Full oder OnRead gesetzt werden, um die Change-Signale aller exponierten Eigenschaften von QObject Elementen mit der entsprechenden dataChanged() Signalemission zu verbinden.
- QRangeModelAdapter bietet eine typische C++-Container-API für den Bereich, auf dem QRangeModel arbeitet, und stellt sicher, dass relevante QAbstractItemModel -Signale bei Änderungen ausgegeben werden, ohne dass der Benutzercode mit QModelIndex arbeiten muss. Diese neue Klasse befindet sich in der Technologievorschau.
- Unter Windows generiert Qt nun automatisch ein Anwendungsmanifest für ausführbare Dateien, die mit CMake erstellt wurden. Das Manifest leitet die Anwendungsversion von
PROJECT_VERSIONab, unterstützt die Anpassung des Projektbezeichners und der Ausführungsebene über CMake-Variablen, erklärt die Kompatibilität mit Windows 10 und Windows 11 und aktiviertlongPathAware.
Qt Concurrent Modul
Keine nennenswerten Änderungen.
Qt D-Bus Baustein
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. Candlestick- oder Box-Plot-Diagramme
- Multi-Achsen-Unterstützung für 3D-Diagramme in Form von rowAxis, valueAxis und columnAxis Eigenschaften in QBar3DSeries, und axisX, axisY und axisZ Eigenschaften in QScatter3DSeries und QSurface3DSeries
- Die Eigenschaften subSlicesCount, subSlicesSum, subSlicesRatio und sliceChildren in QPieSlice wurden hinzugefügt, um die Erstellung von Unterscheiben in Kuchen- und Donut-Diagrammen zu ermöglichen.
- Die Eigenschaften visualMin und visualMax wurden in QDateTimeAxis und QValueAxis hinzugefügt, um die sichtbaren Achsenbereiche zu speichern.
- 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 Platzierung der Beschriftung in Balkendiagrammen zu ermöglichen
- Die Eigenschaft timeZone in QDateTimeAxis wurde 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 Schwenken und Zoomen auf die gleiche Weise wie in QValueAxis
- Die Eigenschaften color und subColor in QAbstractAxis wurden hinzugefügt, um das Überschreiben von Themenfarben für die Achsen zu ermöglichen
- Die Eigenschaften joinStyle, lineStyle, strokeStyle, dashOffset und dashPattern in QLineSeries wurden hinzugefügt, um weitere Gestaltungsmöglichkeiten in Liniendiagrammen zu ermöglichen.
- Eigenschaft optimized in QSplineSeries hinzugefügt, um die Verwendung der Catmull-Rom-Interpolation anstelle der leistungsintensiveren und genaueren Standardmethode zu ermöglichen
- Eigenschaften customRowLabels und customColumnLabels 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 in QSurface3DSeries wurde hinzugefügt, um automatisch Zeilen mit ungültigen Daten zu entfernen
- cutoffMargin in GraphsItem3D und Q3DGraphsWidgetItem hinzugefügt, um die Empfindlichkeit des Ausschlusses von Elementen in der Nähe von Diagrammrändern anzupassen
- Unterstützung für mehrere QBarSeries in einer GraphsView hinzugefügt.
- Unterstützung für negative Werte in QBarSeries wurde zugefügt.
- Unterstützung für ungültige Werte in LineSeries wurde hinzugefügt, was zu visuellen Lücken führt.
Qt GRPC Modul
- Der neue Client-Interception-Mechanismus wurde zu QtGrpc hinzugefügt, um das Abfangen und Modifizieren von ausgehenden Anfragen und eingehenden Antworten zu ermöglichen.
- Qt 6.11 fügt Vergleichsoperatoren (
operator==undoperator!=) für QGrpcCallOptions und QGrpcChannelOptions hinzu, die direkte Gleichheitsprüfungen zwischen Optionsobjekten ermöglichen. - QGrpcOperation Die Klasse führt ein serverInitialMetadataReceived() Signal ein, das RPC-Handler benachrichtigt, sobald die anfänglichen Metadaten des Servers empfangen werden.
- QGrpcChannelOptions Die Klasse bietet nun die Methoden filterServerMetadata() und setFilterServerMetadata(), um zu steuern, ob protokollbezogene Metadaten in Serverantworten enthalten sind.
- Der Namespace QtGrpc führt das RpcType enum und RpcDescriptor struct ein, um gRPC-Methoden mit ihrem Dienstnamen, Methodennamen und Kommunikationsmuster zu beschreiben.
Qt GUI Modul
- Accessibility-Ereignisse des neuen Typs QAccessible::RoleChange werden vom Docking-Fenster-Framework ausgesendet, wenn Docking-Widgets zwischen angedockt und schwebend 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 barrierefreie Clients zu melden.
- QRawFont Es gibt eine API zum Abrufen von glyphCount() und zum Nachschlagen von glyphName() für einen Glyphenindex der Schriftart.
- QTextCharFormat Es gibt neue APIs zum Setzen von font features und variable axes.
Qt Help Modul
Keine nennenswerten Änderungen.
Qt HttpServer Modul
- Unterstützung für HTTP/1.0 Clients hinzugefügt.
- Qt 6.11 führt konfigurierbare Größenbeschränkungen für Anfragen an QHttpServerConfiguration ein, die es Anwendungen ermöglichen, sich gegen übergroße Anfragen zu schützen. Zu den neuen Methoden gehören setMaximumUrlSize(), setMaximumTotalHeaderSize(), setMaximumHeaderFieldSize(), setMaximumHeaderFieldCount() und setMaximumBodySize(). Wenn die Grenzen überschritten werden, antwortet der Server mit den entsprechenden HTTP-Fehlercodes (414, 431 oder 413).
- Route-Handler können nun
QFuture<void>zurückgeben und mit einem QHttpServerResponder&&-Argument in einem anderen Thread antworten, wodurch die CPU-intensive Verarbeitung von Anfragen vom Hauptserver-Thread entlastet werden kann. Bei HTTP/2-Verbindungen können mehrere Anfragen gleichzeitig verarbeitet werden, während HTTP/1.x-Verbindungen Anfragen sequentiell verarbeiten, aber dennoch von der Hintergrundverarbeitung profitieren. Socket I/O verbleibt immer im QHttpServer Thread. - isResponseCanceled() wurde zu QHttpServerResponder hinzugefügt, so dass Handler erkennen können, wenn ein Client die Verbindung getrennt hat, und diese frühzeitig beenden können, um unnötige Verarbeitung zu vermeiden.
Qt Image Formats Modul
Einige gebündelte Module von Drittanbietern wurden aktualisiert, siehe Lizenzänderungen.
Qt Lottie Animation
- Unterstützung für Pfadfüllregeln wurde hinzugefügt.
- CMAKE-Befehl qt_target_qml_from_lottie für die Konvertierung von Lottie nach QML zur Build-Zeit hinzugefügt.
- lottietoqml und VectorImage backend sind nicht länger in der technischen Vorschau.
- VectorImage: Unterstützung für die Animation von Formen entlang von Pfaden hinzugefügt.
- VectorImage: Unterstützung für Morphing-Animationen hinzugefügt (Interpolation zwischen zwei Formen).
- VectorImage: Unterstützung für Matte-Ebenen hinzugefügt.
Qt MQTT Modul
Keine nennenswerten Änderungen.
Qt Multimedia Baustein
- Callback-basierte Überladungen für die Start-Methoden von QAudioSource und QAudioSink hinzugefügt, um Echtzeit-Audioverarbeitung zu ermöglichen.
Qt Network Modul
- QNetworkRequest kann nun die TCP Keep Alive-Parameter für die aktuelle Anfrage angeben. Außerdem wurden die Standard-TCP-Keep-Alive-Parameter in QNetworkAccessManager geändert und inaktive Verbindungen werden nun nach zwei Minuten Inaktivität beendet.
Qt Network Autorisierungsmodul
Keine nennenswerten Änderungen.
Qt NFC Modul
Keine nennenswerten Änderungen.
Qt OPC UA Modul
- Das gebündelte Open62541 wurde auf v1.4.13 aktualisiert. Siehe auch Lizenzänderungen.
Qt OpenGL Baustein
Keine nennenswerten Änderungen.
Qt Positioning Modul
- Qt für WebAssembly Anwendungen können nun die GeoLocation API des Browsers als Backend verwenden.
Qt PrintSupport-Modul
- Zugänglichkeitsverbesserungen für Druckdialoge: Label-Buddies und die richtige Fokus-Reihenfolge wurden eingeführt, um die Unterstützung von Screenreadern und die Tastaturnavigation zu verbessern.
Qt Protobuf Modul
- Die Funktion qprotobufmessage_cast() bietet sicheres Downcasting von QProtobufMessage Zeigern. Ähnlich wie qobject_cast() oder
dynamic_cast()ermöglicht sie eine einfache und sichere Typüberprüfung und -konvertierung während der Laufzeit.
Qt Qml Baustein
- Workspace-Unterstützung in QML Language Server hinzugefügt.
- Unterstützung für "go to C++"-Definitionen wurde in QML Language Server hinzugefügt.
- Unterstützung zur Unterdrückung von Kontexteigenschaftswarnungen über eine
.contextProperties.iniKonfigurationsdatei für qmllint wurde hinzugefügt. - Einführung der Schlüsselwörter
overrideundvirtual, die zusammen mit dem bestehenden Schlüsselwortfinalund der Tooling-Unterstützung helfen, versehentliches Property Shadowing zu verhindern und explizites Überschreiben von Eigenschaften in QML zu ermöglichen. Siehe Property Shadowing und Override Semantics für Details. - Dem Wertetyp easingCurve wurde ein Name gegeben und der Easing-Namensraum in ein Singleton umgewandelt.
- APIs zu QQmlContext hinzugefügt, um list of child contexts und find an object by id zu erhalten.
- Option GroupAttributesTogether zu qmlformat hinzugefügt. Dies impliziert die Option NormalizeOrder und ordnet QML-Kategorien ohne Sortierung der Attribute neu an (Property-Definitionen, Property-Bindings, Methoden, Signale und Enums).
- SingleLineEmptyObjects Option zu qmlformat hinzugefügt. Dies verhindert, dass leere Objekte in eine zweite Zeile expandieren.
Qt Quick Modul
- CMAKE-Befehl qt_target_qml_from_svg für die Konvertierung von SVG nach QML zur Erstellungszeit hinzugefügt.
- APIs zu Flickable hinzugefügt, um position oder flick die Ansicht zu einem Kind und zu flick to a position.
Qt Quick Steuerelemente-Modul
- DoubleSpinBox hinzugefügt, das SpinBox ähnelt, aber Fließkommazahlen unterstützt.
- defaultButton und defaultStandardButton wurden zu DialogButtonBox hinzugefügt. Wenn sie gesetzt sind, wird die entsprechende Schaltfläche hervorgehoben und erhält activeFocus, wenn DialogButtonBox den Fokus erhält.
Qt Quick Modul Dialoge
Keine nennenswerten Änderungen.
Qt Quick Effects Modul
- Qt 6.11 fügt vier neue Eigenschaften zu RectangularShadow für die unabhängige Steuerung des Eckenradius hinzu: topLeftRadius, topRightRadius, bottomLeftRadius, und bottomRightRadius. Jede Eigenschaft fällt auf die bestehende radius Eigenschaft zurück, wenn sie nicht gesetzt ist, oder erzeugt eine scharfe Ecke, wenn sie auf Null gesetzt ist, was flexiblere Schattenformen mit unterschiedlichen Eckenradien pro Ecke ermöglicht.
Qt Quick Modul Layouts
Keine nennenswerten Änderungen.
Qt Quick Modul Partikel
Keine nennenswerten Änderungen.
Qt Quick Zeitleisten-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 Rendering-Passes hinzugefügt, um benutzerdefinierte Rendering-Pipelines direkt in QML ohne C++-Kenntnisse zu ermöglichen
- Hinzufügen der Eigenschaft ssrEnabled in ExtendedSceneEnvironment zur Aktivierung von Screen-Space-Reflexionen (SSR)
- Der Effekt SSGI (Screen-Space Global Illumination) wurde zu ExtendedSceneEnvironment hinzugefügt, um Ambient Occlusion und indirekte Beleuchtung in Echtzeit zu ermöglichen.
- Generierung von Bewegungsvektoren pro Objekt für Temporal AA und Bewegungsunschärfe-Effekte hinzugefügt
- Unterstützung für Layering, um Knoten zu gruppieren und zu steuern, welche Layer die Kamera rendert
- Rendering-Methode "Order-independent transparency" (OIT) für verknüpfte Listen hinzugefügt
- Unterstützung für
NORMAL_ROUGHNESS_TEXTUREin Nachbearbeitungseffekten und benutzerdefinierten Materialien hinzugefügt - Das Sampling von blauem Rauschen wurde zu PCF-Weichschatten hinzugefügt, um die Qualität mit weniger sichtbaren Rauschmustern zu verbessern
- Richtige Handhabung von vormultipliziertem Alpha für Qt Quick Inhalt in Texturen hinzugefügt
VIEW_MATRIXundPROJECTION_MATRIXBelichtung zu Nachbearbeitungseffekten hinzugefügt- pickInRect()-Methode in View3D für rechteckbasierte Objektauswahl hinzugefügt
- closestPointPick()-Methode in View3D hinzugefügt, um den nächstgelegenen Punkt auf einer Oberfläche zu einem gegebenen Punkt zu finden
- Überladung rayPick() hinzugefügt, die einen spezifischen Modellparameter akzeptiert
- Szenenform für Partikelemitter hinzugefügt, die dynamisch Formen basierend auf der Szenengeometrie berechnet
- QQuick3DTextureProviderExtension API für die vereinfachte Erstellung eigener Texturanbieter hinzugefügt
- scheduleRenderResults() Funktion in QSSGFrameData hinzugefügt, um spezifische Renderpass-Ergebnisse anzufordern
- Assimp auf v6.0.2 aktualisiert
Qt Quick 3D XR-Modul
- OpenGL-Desktop-Linux-Unterstützung hinzugefügt (Monado, Xlib, Wayland-Plattformen)
- processTouch() wurde erweitert, um Berührungsereignisse an alle pickbaren Model zu liefern, nicht nur XrItem
- touchpointState() wurde erweitert, um Oberflächenposition und Normalvektorinformationen für 3D-Touch-Interaktionen zurückzugeben
- Popup- und Menü-Unterstützung in XrItem durch dediziertes QQuickOverlay hinzugefügt
- OpenXR auf v1.1.49 aktualisiert
Qt Quick 3D-Physik-Modul
Keine nennenswerten Änderungen.
Qt Quick VectorImage-Modul
- Unterstützung für SVG-Masken hinzugefügt.
- Unterstützung für SVG-Nachbearbeitungsfilter hinzugefügt, um die Unterstützung in Qt SVG: feGaussianBlur, feColorMatrix, feOffset, feFlood, feBlend, feComposite und feMerge.
- Unterstützung für die Animation von Formen entlang von Pfaden wurde hinzugefügt.
- Unterstützung für das SVG <symbol> Tag wurde hinzugefügt.
Qt Serial Port Modul
Keine nennenswerten Änderungen.
Qt Serial Bus Baustein
Keine nennenswerten Änderungen.
Qt Sql Modul
Keine nennenswerten Änderungen.
Qt SVG Modul
- Unterstützung für CSS-Bewegungspfad-Animation durch
offset-pathundoffset-distancehinzugefügt. Beachten Sie, dassoffset-pathnur die Pfadfunktion zur Definition eines Pfades unterstützt. - Unterstützung für die CSS-Animations-Timing-Funktion für eine Animation als Ganzes wurde hinzugefügt. Derzeit werden nur die vordefinierten Schlüsselwörter unterstützt (
linear,step-start,ease, etc.).
Qt Test Baustein
- Die Funktion QTest::currentGlobalDataTag() wurde hinzugefügt, um den Namen der aktuellen globalen Testdaten abzurufen.
- QTest::defaultTryTimeout hinzugefügt, um die Konfiguration des Standard-Timeouts zu ermöglichen, der von den QTRY_*-Funktionen verwendet wird.
- QCOMPARE gibt jetzt das Vorzeichen für negative Nullen und NaN-Werte aus und druckt NaN-Nutzdaten.
- QTEST_THROW_ON_FAIL und QTEST_THROW_ON_SKIP funktionieren nun, wenn QCOMPARE/QSKIP von QtConcurrent aus aufgerufen wird.
- QTest::failOnWarning() schlägt nun bei jedem Nachrichtentyp >= Warnung fehl, einschließlich kritischer Nachrichten.
- Unter macOS werden der Ruhezustand des Bildschirms und die App Nap nun bedingungslos für die gesamte Testausführung deaktiviert.
- Die Callgrind-Unterstützung wurde auf Valgrind v3.25.1 aktualisiert und Unterstützung für RISCV 64-bit Linux hinzugefügt.
Qt VirtualKeyboard-Modul
- Qt 6.11 führt die Eigenschaft arrowKeyNavigationEnabled in VirtualKeyboardSettings ein, mit der Entwickler steuern können, ob Pfeiltasten (Links, Rechts, Oben, Unten) und die Eingabetaste für die Navigation zwischen Tastaturtasten verwendet werden können, wenn das Eingabefeld sichtbar ist. Die Vorgabe für die Eigenschaft basiert auf dem Konfigurationsflag
QT_VIRTUALKEYBOARD_ARROW_KEY_NAVIGATIONzur Erstellungszeit. - Die Eigenschaft keyboardDesignMaximumHeight wurde zum Typ KeyboardStyle hinzugefügt. Verwenden Sie dies, um zu verhindern, dass die Tastatur den größten Teil des Bildschirms überlappt.
Qt WebEngine Modul
- Qt WebEngine basiert jetzt auf Chromium 140.
- Chromium hat neue Rust-Komponenten hinzugefügt, die ihre C++-Entsprechungen ersetzen sollen. Qt WebEngine kann nun optional mit diesen Rust-Komponenten erstellt werden. Dazu muss eine Rust-Toolchain installiert und mit
-feature-webengine-rust-buildkonfiguriert werden. Standardmäßig wird mit den älteren C++-Komponenten gebaut. - Die Richtlinie OnlyPersistentCookies wurde hinzugefügt, um zu verhindern, dass Session-Cookies auf der Festplatte gespeichert werden.
- TrimAccessibilityIdentifiers wurde 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
inputmodewurde hinzugefügt. - Verbesserte
fetch()API-Behandlung von Weiterleitungen zu herkunftsübergreifenden Ressourcen. - Pepper Plugin API Code wurde entfernt.
- Aktivierte
chrome://usb-internalsDebug-Seite.
Qt WebView Modul
- Es wurden C++ Bindungen für WebView hinzugefügt, die die Verwendung des Moduls in Qt Widgets-basierten Anwendungen ermöglichen. Die neuen C++-APIs sind im Status einer Technologievorschau freigegeben und können in Zukunft noch geändert werden.
Qt Widgets Das Modul
- QWizard hat eine neue StretchBanner Option, um das Banner über die gesamte Breite des Assistenten zu strecken.
- QAbstractItemView Es gibt 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 Es gibt eine neue previewColumnVisible Eigenschaft, die angibt, ob die Vorschauspalte sichtbar ist.
- Die neue Klasse QStyleOptionMenuItemV2 fügt ein Flag hinzu, das anzeigt, ob die Maus auf dem Element gedrückt wird, das durch den Stil gerendert wird.
- QTabBar gibt jetzt tabCloseRequested aus, wenn ein Tab in der Mitte angeklickt wird, wenn tabsClosable wahr ist.
Qt XML Modul
Keine nennenswerten Änderungen.
Werkzeuge
QDoc Dokumentations-Generator
- Umfassende Unterstützung für QML-Singleton-Typen wurde hinzugefügt, einschließlich eines neuen
\qmlsingletontype-Befehls, automatischer Erkennung desQML_SINGLETON-Makros und Erkennung vonpragma singletonin QML-Dateien. - QDoc bietet jetzt volle Unterstützung für QML-Modul-Aliase (
import ... as ...Syntax), einschließlich Verknüpfung, Syntax-Hervorhebung für qualifizierte Bezeichner und korrekte Markierung für Eigenschaftsnotationen wieanchors.fillund angehängte Eigenschaften wieComponent.onCompleted. - Sie können den neuen
\toc/\endtocund\tocentryBefehl verwenden, um hierarchische Inhaltsverzeichnisstrukturen in Dokumentationsquelldateien zu spezifizieren. QDoc erzeugt<project>_toc.xmlDateien für Navigations-Sidebars. - Der \overload Befehl benötigt nun ein optionales Argument. Verwenden Sie die
\overload primarySyntax, um die primäre Funktion in einem Überladungssatz zu bezeichnen. - QDoc generiert jetzt kontextbezogene Verbindungsbeispiele für überladene Signale und Slots.
- Die Konfigurationsvariable
includeprivateermöglicht die Dokumentation von privaten C++-Mitgliedern. Rein virtuelle Funktionen werden nun bedingungslos dokumentiert. - C++20-Konzepte: QDoc extrahiert und zeigt jetzt C++20 erfordert Klauseln für Funktions- und Klassenvorlagen an. Sowohl Template-Kopf- als auch Trailing-Constraint-Positionen 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 keywordsfügt benutzerdefinierte Schlüsselwörter als HTML<meta>Elemente zur Suchmaschinenoptimierung und Nachbearbeitung hinzu. - Die explizite Verknüpfung mit angehängten QML-Eigenschaften wird nun durch das Link-Kriterium "attached" unterstützt, was eine Disambiguierung bei Konflikten zwischen regulären und angehängten Eigenschaftsnamen ermöglicht.
- Vorlagendeklarationen mit mehr als zwei Parametern werden jetzt in einem mehrzeiligen Format dargestellt, um die Lesbarkeit zu verbessern. Die HTML-Ausgabe verwendet die CSS-Klasse
template-blockfür benutzerdefiniertes Styling. - QDoc warnt jetzt vor undokumentierten C++-Eigenschaften, die mit
Q_PROPERTYdeklariert wurden, um eine konsistente Dokumentationsabdeckung über alle API-Elemente hinweg sicherzustellen. - QDoc warnt nun vor Selbstverlinkungen in
\saBefehlen, bei denen ein Dokument auf sich selbst verlinkt. - Die Konfigurationsvariable
logwarningsbewirkt, dass QDoc alle Warnungen in eine<project>-qdoc-warnings.logDatei schreibt. Die neue Unteroptionlogwarnings.disablecliargslässt CLI-Argumente aus dem Log-Header für portable Logs weg. - QDoc-Warnungen enthalten nun das Präfix des Projektnamens für Multi-Modul-Builds.
- Verbesserungen der Konfiguration:
codelanguages: Angabe zusätzlicher Programmiersprachen, die in \code Blöcken akzeptiert werden, wodurch die Dokumentation Code in Sprachen ohne eingebaute Syntax-Highlighting-Marker enthalten kann.imagesoutputdir: Benutzerdefiniertes Ausgabe-Unterverzeichnis für Bilder, um Dateinamenkonflikte in Multi-Modul-Builds zu lösen.internalfilepatterns: Automatische Markierung von Klassen als intern, basierend auf Datei-/Pfadnamensmustern, wie z.B.*_p.h.projectroot: Legt das Stammverzeichnis für die Konvertierung von absoluten Pfaden in relative Pfade in Warnprotokollen fest, um die Portabilität zwischen verschiedenen Build-Umgebungen zu verbessern. Auch als UmgebungsvariableQDOC_PROJECT_ROOTverfügbar.
- Formatierungsbefehle funktionieren jetzt in
\titleArgumenten,\generatelistfunktioniert korrekt in Qt Help Projekt TOC Strukturen und benutzerdefinierte Enumerator-Präfixe werden in\qmlenumunterstützt. - Die HTML-Struktur für die QML- und C++-Mitgliederdokumentation 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 scoped enum, QML-Vererbungsbehandlung mit Zykluserkennung und korrekte Erhaltung von deklarierten Typen und Variableninformationen in Indexdateien.
- LLVM/Clang 21-Kompatibilität wurde hinzugefügt, wobei die minimal unterstützte Version auf 17.0.6 aktualisiert wurde.
- Der Befehl
\tableofcontentsist offiziell veraltet.
Qt Linguist
- Hinzufügen von Labels als Möglichkeit, 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.
- Neue i18n-Beispiele zur Dokumentation hinzugefügt.
- AI-Übersetzung für Qt Linguist für automatische Übersetzungen mit LLMs hinzugefügt. Siehe die AI-Übersetzungsdokumentation und den Blogbeitrag für weitere Details.
- Die ausführbare Datei ltext2id wurde hinzugefügt, um Projekte von textbasierter Übersetzung zu ID-basierter Übersetzung zu migrieren. Siehe ltext2id verwenden für weitere Details
- Die ausführbare Datei lcheck wurde hinzugefügt, um eine Batch-Validierung von TS-Dateien durchzuführen. Siehe Verwendung von lcheck für weitere Details.
- Unterstützung für C++-Attribute im lupdate-Parser hinzugefügt
- Veraltete Verwendung von //= Metastrings im lupdate-Parser.
- Die Option
lupdate -profür die direkte Verarbeitung von .pro-Dateien wurde abgelehnt. Verwenden Sie stattdessenlupdate-pro. - Die ausführbare Datei lprodump wurde entfernt. Seine Funktionalität ist jetzt über die Option
lupdate-pro -dump-jsonverfügbar.
Plattform-Änderungen
Änderungen am Build-System
- Die Konfigurationsoption -generate-vcpkg-manifest wurde hinzugefügt. Diese generiert eine vcpkg.json-Datei im Build-Verzeichnis. Um nur das Manifest zu erzeugen, ohne Qt zu konfigurieren, führen Sie configure mit -generate-vcpkg-manifest -dry-run aus.
- Wenn Sie mit -vcpkg konfigurieren, erzeugen Sie eine vcpkg-Manifestdatei im Build-Verzeichnis und setzen VCPKG_MANIFEST_DIR auf das Build-Verzeichnis, um diese Manifestdatei zu verwenden. Sie können die Manifestgenerierung mit -no-generate-vcpkg-manifest abschalten. Sie können das Setzen des Manifestverzeichnisses deaktivieren, indem Sie - -UVCPKG_MANIFEST_DIR an configure übergeben.
Desktop-Plattformen
Windows
- Unterstützung und Erkennung von Windows 11 25H2 (Build 10.0.26200) über QOperatingSystemVersion wurde hinzugefügt.
- Es gibt verschiedene Verbesserungen bei der Zugänglichkeit von Top-Level-Fenstern und dem Fokus.
- Die Handhabung der Aktualisierungsrate wurde verbessert.
- Experimentelle Unterstützung für ARM64EC bei Verwendung von Visual Studio 2026 wurde hinzugefügt. Um diese Konfiguration zu verwenden, fügen Sie
/arm64ECzuCFLAGSsowie/arm64ECund/d2arm64ECMarkAllFuncsPatchablezu IhrenCXXFLAGSUmgebungsvariablen auf Ihrem Windows on ARM Rechner hinzu und konfigurieren und erstellen Sie Qt wie gewohnt.
Linux
- Das Wayland-Plugin erhielt eine serverseitige Tastenwiederholung, eine Präferenz für serverseitige Dekorationen, experimentelle Unterstützung für
xx-session-management-v1und zahlreiche Stabilitätsverbesserungen (Popups, Scrollen, Offscreen-Oberflächen, Zwischenablage). - Die alte native X11-Malmaschine (XRender) für XCB wurde entfernt. Die Verwendung dieser Engine erforderte die Aktivierung zur Kompilierungszeit mit einer CMake-Option (
-xcb-native-painting) und die Aktivierung zur Laufzeit mit der UmgebungsvariablenQT_XCB_NATIVE_PAINTING. - Die Zugänglichkeit wurde verbessert, indem die Unterstützung für die AT-SPI-Sammelschnittstelle hinzugefügt wurde, die einen effizienteren Mechanismus zum Abrufen zugänglicher Objekte innerhalb der Zugänglichkeitshierarchie einer Anwendung bietet. Diese Schnittstelle ermöglicht auch die Unterstützung des Browse-Modus im Orca Screenreader.
- XKB: Die Tastenbelegung wurde für Qt::Key_Call / Qt::Key_Hangup erweitert.
macOS
- Anwendungen mit Sandbox können nun auf Dateien außerhalb der Sandbox zugreifen (so genannte sicherheitsrelevante Ressourcen), sowohl zum Lesen als auch zum Schreiben. Dateien oder Ordner, die der Benutzer über Dateidialoge oder ähnliche native Mechanismen auswählt, werden automatisch und transparent behandelt, einschließlich des dauerhaften Zugriffs über Anwendungs- und Geräteneustarts hinweg.
- QNativeInterface::QCocoaScreen für den Zugriff auf den zugrunde liegenden NSScreen hinzugefügt.
- Die Konvertierung zwischen CGImageRef und QImage unterstützt nun eine breitere Palette von Bildformaten, einschließlich QImage::Format_RGB30 und Fließkommaformaten, die für HDR-Inhalte wichtig sind.
- Die Apple-Icon-Engine respektiert nun die Layout-Richtung des Painters und erzeugt RTL-spezifische Icons, wenn diese im SF Symbols Icon Set verfügbar sind.
- Dateipfade, die über native Öffnungs-/Speicher-Panels ausgewählt werden, sind jetzt NFC-normalisiert, was konsistente Dateinamensvergleiche gewährleistet, unabhängig davon, ob das Dateisystem Namen in NFD-Form speichert.
Mobile Plattformen
Android
Qt für Android
- Qt Jenny unterstützt jetzt die Implementierung von Java-Schnittstellen und die Erweiterung von Java-Klassen in C++.
- Unterstützung für Play Store's Feature Delivery.
- Unterstützung für Android 16.
- Aktualisiert auf Gradle 9.3.1 und Android Gradle Plugin 9.0.0.
- Aktualisierung auf JDK 21 LTS und Erhöhung der Kompatibilität auf JDK 17 LTS.
Qt Quick für Android
- QtQuickView.invokeMethod() für den 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 Plattformthema wurde hinzugefügt.
- Unterstützung für QFileOpenEvent für externe Anfragen zum Öffnen von Dateien wurde hinzugefügt.
- Anwendungen mit Sandbox können nun auf Dateien außerhalb der Sandbox zugreifen (so genannte sicherheitsrelevante Ressourcen), sowohl zum Lesen als auch zum Schreiben. Dateien oder Ordner, die der Benutzer über Dateidialoge oder ähnliche native Mechanismen auswählt, werden automatisch und transparent behandelt, einschließlich des dauerhaften Zugriffs über Anwendungs- und Geräteneustarts hinweg.
- Unterstützung für native Speicherdialoge wurde hinzugefügt.
Eingebettete Plattformen
Linux
- EGLFS/KMS unterstützt nun Hot-Plug und Hot-Reload von Displays zur Laufzeit (überwacht durch die Umgebungsvariable
QT_QPA_EGLFS_HOTPLUG_ENABLED). - Ein neues ConnMan-basiertes QNetworkInformation Backend wurde hinzugefügt.
- DirectFB: Qt::Key_Call Mapping 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 hat ein Backend für die GeoLocation API.
- Verwenden Sie das neue Tool
wasmdeployqt, um dynamisch verknüpfte Qt for WebAssembly-Anwendungen bereitzustellen und auszuliefern. Dies ersetzt die bisherigenpreload_qt_plugins.pyundpreload_qml_imports.pyPython-Skripte.
Liste der API-Änderungen
Diese Seiten enthalten einen Überblick über die API-Änderungen in Qt 6.11:
Bekannte Probleme
Informationen über bekannte Probleme 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.