Auf dieser Seite

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

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::iota verwendet 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++20 std::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_VERSION ab, 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 aktiviert longPathAware.

Qt Concurrent Modul

Keine nennenswerten Änderungen.

Qt D-Bus Baustein

Keine nennenswerten Änderungen.

Qt Graphs Modul

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== und operator!=) 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

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.ini Konfigurationsdatei für qmllint wurde hinzugefügt.
  • Einführung der Schlüsselwörter override und virtual, die zusammen mit dem bestehenden Schlüsselwort final und 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

Qt Quick Steuerelemente-Modul

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_TEXTURE in 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_MATRIX und PROJECTION_MATRIX Belichtung 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-path und offset-distance hinzugefügt. Beachten Sie, dass offset-path nur 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_NAVIGATION zur 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-build konfiguriert 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 inputmode wurde hinzugefügt.
  • Verbesserte fetch() API-Behandlung von Weiterleitungen zu herkunftsübergreifenden Ressourcen.
  • Pepper Plugin API Code wurde entfernt.
  • Aktivierte chrome://usb-internals Debug-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

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 des QML_SINGLETON -Makros und Erkennung von pragma singleton in 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 wie anchors.fill und angehängte Eigenschaften wie Component.onCompleted.
  • Sie können den neuen \toc/\endtoc und \tocentry Befehl verwenden, um hierarchische Inhaltsverzeichnisstrukturen in Dokumentationsquelldateien zu spezifizieren. QDoc erzeugt <project>_toc.xml Dateien für Navigations-Sidebars.
  • Der \overload Befehl benötigt nun ein optionales Argument. Verwenden Sie die \overload primary Syntax, um die primäre Funktion in einem Überladungssatz zu bezeichnen.
  • QDoc generiert jetzt kontextbezogene Verbindungsbeispiele für überladene Signale und Slots.
  • Die Konfigurationsvariable includeprivate ermö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 keywords fü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-block für benutzerdefiniertes Styling.
  • QDoc warnt jetzt vor undokumentierten C++-Eigenschaften, die mit Q_PROPERTY deklariert wurden, um eine konsistente Dokumentationsabdeckung über alle API-Elemente hinweg sicherzustellen.
  • QDoc warnt nun vor Selbstverlinkungen in \sa Befehlen, bei denen ein Dokument auf sich selbst verlinkt.
  • 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 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 Umgebungsvariable QDOC_PROJECT_ROOT verfügbar.
  • Formatierungsbefehle funktionieren jetzt in \title Argumenten, \generatelist funktioniert korrekt in Qt Help Projekt TOC Strukturen und benutzerdefinierte Enumerator-Präfixe werden in \qmlenum unterstü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 \tableofcontents ist 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 -pro für die direkte Verarbeitung von .pro-Dateien wurde abgelehnt. Verwenden Sie stattdessen lupdate-pro.
  • Die ausführbare Datei lprodump wurde entfernt. Seine Funktionalität ist jetzt über die Option lupdate-pro -dump-json verfü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 /arm64EC zu CFLAGS sowie /arm64EC und /d2arm64ECMarkAllFuncsPatchable zu Ihren CXXFLAGS Umgebungsvariablen 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-v1 und 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 Umgebungsvariablen QT_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 bisherigen preload_qt_plugins.py und preload_qml_imports.py Python-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.