Auf dieser Seite

Neuerungen in Qt 6.9

Neue Funktionen in Qt 6.9

Qt Core Das Modul

  • QString::arg() unterstützt nun Argumente im Format UTF-8 (QUtf8StringView) und QAnyStringView. Die Übergabe von C-Zeichenfolgenliteralen oder QByteArrays an arg() führt nun nicht mehr implizit zu einer vorherigen Konvertierung in QString.
  • QAnyStringView und ` QUtf8StringView ` verfügen nun über eine (Multi-)`arg()`-Funktion, wie sie bei ` QStringView ` und ` QLatin1StringView ` bereits vorhanden war. Diese unterstützen zudem Argumente vom Typ ` QUtf8StringView ` und ` QAnyStringView `, genau wie die ` QString `-Version.
  • QJniArray kann nun ein leeres Array fester Größe erstellen und Werte in einem Array mithilfe eines nicht-konstanten Iterators ändern oder operator[]
  • QLocale::uiLanguages() enthält nun Fallback-Einträge, die durch das Entfernen späterer Bestandteile von Namen gewonnen werden. Aufrufer, die solche Kürzungen bisher selbst vorgenommen haben, werden nun dazu ermutigt, darauf zu vertrauen, dass ` QLocale ` weiß, welche Versuche zu unternehmen sind und in welcher Reihenfolge dies geschehen soll.
  • QLocale::bcp47Name() stellt die C-Locale nun als „en-POSIX“ dar, um sie von einfachem „en“ zu unterscheiden und eine bessere Übereinstimmung mit der BCP47-Spezifikation zu gewährleisten. Die Variante POSIX wird nun ebenfalls als Bezeichnung für die C-Locale erkannt, wenn diese anhand ihres Namens konstruiert wird.
  • QTimeZone::abbreviation() gibt unter Windows nun eine Abkürzung anstelle des vollständigen Namens zurück.
  • QTimeZone::displayName() sollte nun auf allen Plattformen tatsächlich lokalisierungsgerechte Namen für Zeitzonen bereitstellen, während dies zuvor auf einigen Plattformen nicht unterstützt wurde.
  • Bei der Konvertierung von Zeitstempel-Zeichenketten mit einem Zeitzonenanteil zu QDateTime werden nun die Langform-Anzeigenamen der Zeitzonen erkannt.
  • QMetaEnum und „ QFlags “ unterstützen nun Typen, die bis zu 64 Bit erfordern.
  • QJsonValue kann nun JSON direkt mit „ fromJson “ und „ toJson “ analysieren und serialisieren, ohne den Umweg über „ QJsonDocument “ zu nehmen. Dadurch können sowohl primitive Werte wie Zeichenfolgen oder Zahlen als auch zusammengesetzte Werte analysiert und serialisiert werden.
  • QThread Es wurde die Möglichkeit hinzugefügt, den OS-Thread-Quality-of-Service-Hinweis mithilfe der neuen Funktion ` setServiceLevel ` festzulegen.
  • QThreadPool kann zudem mithilfe von ` setServiceLevel` die Dienstgüteebene für seine Threads festlegen.
  • QFile::supportsMoveToTrash() gibt an, ob „ QFile::moveToTrash()“ auf dem aktuellen Betriebssystem implementiert ist.
  • QIODevice::readLineInto() ermöglicht das Einlesen einer Datenzeile in einen vorab zugewiesenen Puffer.
  • Verwenden Sie das neue Makro ` Q_STATIC_LOGGING_CATEGORY `, um eine Protokollierungskategorie zu deklarieren, die nur in einer einzigen Übersetzungseinheit verwendet wird.
  • Rufen Sie die neue Methode ` QSortFilterProxyModel::beginFilterChange()` auf, um sicherzustellen, dass Änderungen am gefilterten Inhalt korrekt erkannt werden.
  • QTimerEvent::matches() erleichtert das Testen, ob ein Timer-Ereignis zu einem bestimmten „ QBasicTimer “ gehört.
  • QUuid::createUuidV7() ermöglicht das Erstellen eindeutiger Identifikatoren auf Basis von RFC9562.
  • QCommandLineParser::showMessageAndExit() bietet eine bequeme Möglichkeit, dem Benutzer vor dem Beenden der Anwendung eine Informations- oder Fehlermeldung anzuzeigen.
  • QHash Die APIs „ tryEmplace “ und „ insertOrAssign “ wurden an die entsprechenden APIs aus der Standardbibliothek angepasst.
  • QSpan kann nun Spans variabler Größe chop und slice verarbeiten.

Qt Graphs Modul

  • Unterstützung für Transparenz in Surface3D hinzugefügt, unter Verwendung der reihenfolgeunabhängigen Transparenz aus ` QtQuick3D`. Bislang wurde nur die approximative Technik (WeightedBlended) zur ` QtQuick3D ` implementiert, sodass noch keine präzisen Techniken verwendet werden können.
  • rootNode wurde hinzugefügt, um das Einfügen von Graphen in eine „ View3D “ in „ QtQuick3D “-Anwendungen zu ermöglichen.
  • Eine weitere Auswahlmethode, „ doRayPicking “, wurde hinzugefügt, die bei der Einbindung von Diagrammen in „ View3D “ verwendet werden kann.
  • Die Klasse „ QSpline3DSeries “ wurde hinzugefügt, damit Benutzer ihre Daten als Splines darstellen können.
  • Die Eigenschaft „ valueColoringEnabled “ wurde zu „Bars3D“ hinzugefügt, wodurch jeder Balken je nach seinem Wert separat eingefärbt werden kann.
  • Die Eigenschaft „ scaleLabelsByCount “ wurde zu „QAbstract3DAxis“ hinzugefügt, mit der Benutzer festlegen können, ob Achsenbeschriftungen basierend auf der Gesamtzahl der Beschriftungen skaliert werden sollen.
  • Die Eigenschaft „ labelSize “ wurde zu „QAbstract3DAxis“ hinzugefügt, sodass Benutzer die Größe der Achsenbeschriftungen für jede Achse festlegen können.
  • Es wurde Unterstützung für die Festlegung der minimalen und maximalen Drehungen in X- und Y-Richtung für „Bars3D“, „Scatter3D“ und „Surface3D“ hinzugefügt.
  • Die Eigenschaft „ alignment “ wurde zu „QAbstractAxis“ hinzugefügt, sodass Benutzer Achsen links, rechts, oben oder unten ausrichten können.
  • Die Eigenschaft „ plotArea “ wurde zu „QGraphsView“ hinzugefügt, sodass Benutzer das Rechteck definieren können, in dem ein Diagramm gezeichnet wird.
  • Unterstützung für Zoomen und Verschieben wurde zu „QGraphsView“ hinzugefügt.
  • Unterstützung für benutzerdefinierte Eingabeverarbeitung bei Flächen-, Linien-, Kreis- und Streudiagrammen hinzugefügt.

Qt GRPC Modul

  • Das Beispiel „ Qt GRPC Client Guide Overview“ wurde hinzugefügt.
  • Die gesamte Dokumentation und alle Beispiele wurden verbessert und verfeinert.
  • Optimierung der Streaming-RPCs für das Schreiben unter hoher Auslastung.

Qt GUI Das Modul

  • QBrush und „ QPen “ wurden mit optimierten Operatoren zum Vergleichen mit bzw. zum Zuweisen von Farb- und Stilwerten ausgestattet.
  • QPainter::setBrush() erhielt neue, optimierte Überladungen zum Festlegen einer Farbe als Volltonpinsel.
  • QPainterStateGuard ist eine neue RAII-Klasse, die ausgewogene Speicher-/Wiederherstellungsvorgänge bei einem „ QPainter “ gewährleistet.
  • QColorSpace erhielt APIs zum Setzen und Abrufen der vier Primärfarbpunkte des Farbraums.
  • Qt::ExpandedClientAreaHint wurde hinzugefügt, um zu erzwingen, dass der Client-Bereich des Fensters auf Bereiche erweitert wird, in denen er möglicherweise von anderen UI-Elementen verdeckt wird oder mit diesen in Konflikt steht, wie z. B. den Steuerelementen der Titelleiste des Fensters oder anderen System-UIs.
  • Qt::NoTitleBarBackgroundHint wurde hinzugefügt, um anzufordern, dass die Titelleiste des Fensters ohne Hintergrundfarbe gezeichnet wird.
  • QWindow::safeAreaMargins() wurde hinzugefügt, um den sicheren Bereich des Fensters darzustellen.
  • Es wurden die Analyse und automatische Erkennung von Emoji-Sequenzen im Text hinzugefügt, um die Verwendung von Farb-Schriftarten bei Bedarf gemäß der Unicode-Spezifikation sicherzustellen. Dieser Parser kann pro Layout mit ` QTextOption::DisableEmojiParsing` oder durch Deaktivieren des Emoji-Segmentierers bei der Konfiguration von Qt XML deaktiviert werden.
  • QFontDatabase::addApplicationEmojiFontFamily() und zugehörige Funktionen zum Anpassen der von der Anwendung verwendeten Standard-Emoji-Schriftart wurden hinzugefügt.
  • QFontInfo::variableAxes() wurde hinzugefügt, um Informationen über die von einer Schriftart unterstützten variablen Achsen abzurufen.
  • QImage::flipped() und ` QImage::flip()` bieten eine auf ` Qt::Orientation ` basierende API zum Spiegeln eines Bildes, wodurch der Code leichter lesbar ist als die auf `bool` basierende Alternative ` QImage::mirrored()`.
  • QRhi: Bei der Ausführung mit OpenGL ES auf mobilen GPUs, die diese Funktion unterstützen, wird GL_EXT_multisampled_render_to_texture wann immer möglich verwendet. Für Clients wie Qt Quick und Qt Quick 3D bringt dies potenziell erhebliche Leistungsverbesserungen beim Multisampling-Rendering auf gekachelten GPU-Architekturen mit sich.
  • QRhi: Unter Windows mit Direct 3D 11 und 12 werden Aktualisierungsanfragen von QWindow nun von einem dedizierten Vblank-Watcher-Thread gesteuert, wodurch die CPU-Auslastung und die Latenz reduziert werden. Dies bedeutet, dass bei Clients wie Qt Quick mit einer geringeren Verzögerung zu rechnen ist, wenn Elemente beispielsweise interaktiv per Maus oder Touch gezogen werden.
  • QRhi: Unterstützung für Variable-Rate-Shading wurde hinzugefügt, sofern verfügbar (Direct 3D 12, Vulkan, Metal). Dies ermöglicht die Unterstützung dynamischer Foveation mit „ Qt Quick 3D XR“ auf visionOS.
  • QRhi: Das Blending pro Renderziel wird nun optional auch für OpenGL unterstützt.
  • QRhi: Unterstützung für eine Reihe von Integer- und Tiefen-Texturformaten hinzugefügt.
  • QRhi: Unterstützung für die Übergabe von anwendungsseitig bereitgestellten Wait/Signal-Semaphoren unter Vulkan hinzugefügt. Diese werden dann an `vkQueueSubmit` und `Present` weitergeleitet, was die Integration externer Rendering-/Rechen-Engines ermöglicht, die auf mehrere Threads zurückgreifen und eine entsprechende Synchronisation mit dem Scene-Graph-Renderer erfordern.
  • Verwenden Sie die Eigenschaft „ QPdfWriter::author()“, um den Autor des generierten PDF-Dokuments festzulegen.

Qt-HttpServer-Modul

Qt Multimedia Modul

Qt Network Modul

  • Es wurde „ setMaxConcurrentStreams “ hinzugefügt, das die HTTP/2-Einstellung „SETTINGS_MAX_CONCURRENT_STREAMS“ steuert.

Qt Network Auth-Modul

Qt Protobuf Modul

  • Die gesamte Dokumentation wurde verbessert und überarbeitet.
  • Die Option „ HEADER_GUARD “ wurde hinzugefügt, um den Mechanismus zur Absicherung generierter Header-Dateien festzulegen.
  • Die Funktion „ protobuf-unsafe-registry “ wurde hinzugefügt, um beim Zugriff auf benutzerdefinierte Protobuf-Serializer Sicherheit gegen Leistung einzutauschen.

Qt Qml Das Modul

  • QML Language Server bietet nun eine Gliederungsansicht der Dokumentstruktur. Dadurch können Clients (z. B. IDEs oder Code-Editoren) die Struktur eines QML-Dokuments als interaktive Gliederung darstellen und Objekte, Eigenschaften, Methoden sowie andere Code-Elemente in einer hierarchischen Ansicht anzeigen.
  • Die Funktion „maximale Zeilenlänge“ wurde zu `qmlformat` hinzugefügt: `qmlformat` steuert nun anhand einer maximal zulässigen Zeilenlänge, an welcher Stelle Zeilenumbrüche erfolgen sollen, und gewährleistet so ein konsistentes und lesbares QML-Dokument.

Qt Quick Modul

  • Die angehängte Eigenschaft „ SafeArea “ wurde hinzugefügt, um sichere Bereiche eines „Item“ oder „Window“ zu verwalten.
  • Die „Shear“-Komponente wurde hinzugefügt, um auf bequeme Weise Schertransformationen auf Elemente anzuwenden.
  • Die Eigenschaft „ FontMetrics::capitalHeight “ wurde hinzugefügt, die zuvor in der „ Qt Quick “-API fehlte.
  • Der Typ „ FontInfo “ wurde hinzugefügt, um die Ergebnisse der Schriftartauflösung abzurufen, entsprechend der Klasse „ QFontInfo “ in C++.
  • Die Unterstützung für den FramebufferObject-Rendering-Modus von „ QQuickPaintedItem “ wurde wieder eingeführt, wenn als Grafik-API OpenGL verwendet wird. Dies dient als Portierungshilfe für Anwendungen aus der Qt-5-Ära, die für ihre „QQuickPaintedItems“ die Verwendung der veralteten OpenGL-Paint-Engine von „ QPainter “ erfordern.
  • Die Puffer-Pooling-Logik des Scenegraph-Renderers wurde optimiert, um Spitzen im Speicherverbrauch in Szenen mit umfangreichen Geometrien zu verhindern. Zudem wurde der Overhead für Szenen mit vielen Elementen reduziert, insbesondere bei der Ausführung mit OpenGL.

Qt Quick Controls Modul

  • ContextMenu wurde hinzugefügt. Dieser kann an jedes Element angehängt werden, um bei einem plattformspezifischen Ereignis, wie beispielsweise einem Rechtsklick oder dem Kontextmenü-Tastenbefehl, ein Kontextmenü anzuzeigen.
  • TextField und „ TextArea “ stellen nun standardmäßig ein „ ContextMenu “ bereit. Wenn Sie bereits über ein benutzerdefiniertes Kontextmenü für diese Typen verfügen, öffnet „ ContextMenu “ kein eigenes (bei Rechtsklick oder Betätigung der Kontextmenü-Taste).

Qt Quick Effects Modul

  • Neues „ RectangularShadow “-Element für schnelle Schatten- und Leuchteffekte in Form eines abgerundeten Rechtecks. Die API ähnelt dem CSS-Eigenschaft „box-shadow“ mit Werten für Farbe, Versatz, Ausbreitung und Unschärfe.

Qt Quick 3D Modul

  • Implementierung von „WeightedBlended Order Independent Transparency“ (OIT) zum Rendern transparenter Objekte hinzugefügt.
  • Unterstützung für 32-Bit-Texturformate mit vorzeichenlosen Ganzzahlen hinzugefügt.
  • Verbesserte Kontrolle über die Grenzen von Schattenkarten für instanzierte Modelle, was unter Umständen eine bessere Leistung ermöglicht, wenn die Berechnung rechenintensiv wird.
  • Unterstützung für 4K-Schattenkarten mit einer neuen „Ultra“-Auflösungseinstellung hinzugefügt.
  • Es wurde die Option hinzugefügt, mittlere Genauigkeit für Fließkommazahlen in GLSL-ES-Fragment-Shadern zu erzwingen. Dies dient in erster Linie als Werkzeug zur Leistungsoptimierung. Setzen Sie die Umgebungsvariable QT_QUICK3D_MEDIUM_PRECISION auf einen Wert ungleich Null. Hat keine Auswirkungen auf andere Shader-Arten (einschließlich nicht-ES-GLSL).
  • DebugView Unterstützt nun die Visualisierung von Begrenzungsbereichen für Schatten von Punktlichtquellen.
  • Die integrierten Geometrien wurden von Qt 3D nach QtQuick3D.Helpers portiert. PlaneGeometry, SphereGeometry, CylinderGeometry, ConeGeometry und TorusGeometry sind nun unter QtQuick3D.Helpers verfügbar.
  • Eine Portierung von „ExtrudedTextMesh“ von Qt 3D nach QtQuick3D.Helpers wurde hinzugefügt.
  • Unterstützung für die Verwendung von Instanzierung mit benutzerdefinierten Materialien im Material-Editor hinzugefügt.

Qt Quick 3D XR-Modul

  • Es wurde Unterstützung für haptische Ausgabe mit Controllern hinzugefügt, wobei Amplitude, Dauer und Frequenz über ein neues Element unter „ XrHapticFeedback “ gesteuert werden können.
  • In „ XrInputAction “ wurde eine neue Eigenschaft hinzugefügt, um eine Aktion bedingt zu deaktivieren, ohne dies in allen Handler-Funktionen prüfen zu müssen.
  • Ein Metal-Backend für OpenXR wurde hinzugefügt, um die Ausführung im Meta XR Simulator unter macOS zu unterstützen.
  • Die Eigenschaft „ multiViewRenderingEnabled “ ist nun schreibgeschützt, und das Umschalten des Multiview-Renderings ist zur Laufzeit nicht mehr möglich. Wenn Multiview-Rendering unterstützt wird, ist es für die gesamte Laufzeit der Anwendung aktiviert. Bei Portierungen, bei denen das Multiview-Rendering nicht gewünscht ist, kann es deaktiviert werden, indem die Umgebungsvariable `QT_QUICK3D_XR_DISABLE_MULTIVIEW` auf einen Wert ungleich Null gesetzt wird.

Qt Quick VectorImage-Modul

  • Es wurde eine vorläufige Unterstützung für Farbanimationen und Transformationsanimationen hinzugefügt, die der aktuellen Unterstützung in Qt SVG entspricht.

Qt SQL-Modul

  • QSqlDriver Es wurde eine neue Funktion ` connectionName()` hinzugefügt, die den Verbindungsnamen der zugehörigen ` QSqlDatabase `-Instanz zurückgibt.
  • QSqlQueryModel kann nun die Datenbank mit ` refresh()` aktualisieren, wenn die Datenbank beispielsweise von außerhalb von Qt geändert wurde und daher neu eingelesen werden muss.

Qt SVG Modul

  • QtSvg::Options wurde um drei neue Werte erweitert, um Animationen zu deaktivieren.
  • Unterstützung von CSS-Animationen für die Eigenschaften „fill“, „stroke“ und „transform“.

Qt-VirtualKeyboard-Modul

  • Ein neues japanisches Layout hinzugefügt, das Flick-Tasten verwendet.
  • Unterstützung für die Anpassung der Tastentonlautstärke hinzugefügt.

Qt WebEngine Modul

  • Das interne Rendering wurde auf ANGLE umgestellt, auch wenn Qt OpenGL-RHI verwendet. Dies verbessert die Leistung und sorgt für eine größere Ähnlichkeit mit Chrome.
  • QWebEngineProfileBuilder Außerdem wurde die QML-Eigenschaft „ WebEngineProfilePrototype “ hinzugefügt, um Profile vor ihrer Erstellung zu konfigurieren und Race-Conditions zu vermeiden.
  • QWebEngineLoadingInfo Es wurde eine isDownload -Eigenschaft hinzugefügt, um anzugeben, dass die Last mit einem Download zusammenhängt.
  • QWebEngineUrlRequestInfo Außerdem wurde eine Methode ` isDownload()` hinzugefügt, um anzugeben, dass die Anfrage mit einem Download zusammenhängt.
  • QWebEngineSettings sowie drei neue Einstellungen in QML „ WebEngineSettings “ hinzugefügt: „PrintHeaderAndFooter“ und „PreferCSSMarginsForPrinting“ zur Konfiguration des Drucks sowie „TouchEventsApiEnabled“ zum Deaktivieren der TouchEvents-API, die von einigen Websites als Auslöser für den Mobilmodus verwendet wird.

Qt Widgets Das Modul

  • QAbstractItemView erhielt eine neue Eigenschaft „ updateThreshold “, um festzulegen, wann eine vollständige Ansichtaktualisierung durchgeführt werden soll, anstatt innerhalb von `dataChanged()` zu ermitteln, in welchen Teilen sich etwas geändert hat. Dies ist besonders nützlich, wenn sich in einem großen Modell viele Elemente ändern, da die Berechnung des Aktualisierungsbereichs länger dauern kann als eine vollständige Ansichtaktualisierung.
  • QComboBox kann seine Beschriftung mithilfe des Delegaten der Elementansicht zeichnen, indem die Eigenschaft „ labelDrawingMode “ auf „ UseDelegate “ gesetzt wird.
  • QHeaderView wurde optimiert, um den Speicherbedarf bei sehr großen Modellen drastisch zu reduzieren, solange die Abschnitte nicht in der Größe verändert, ausgeblendet oder neu angeordnet werden.
  • Die als „ QWidget::accessibleIdentifier “ festgelegte Kennung kann von assistiven Technologien und automatisierten Testtools verwendet werden, um ein bestimmtes Widget zu identifizieren.
  • Die Andockposition eines „ QDockWidget “ kann nicht explizit über die Eigenschaft „ QDockWidget::dockLocation “ festgelegt werden.
  • QStackedWidget gibt nun das Signal „ widgetAdded()“ aus, wenn ein neues Widget zum Stapel hinzugefügt wird.

Qt XML Modul

Werkzeuge

QDoc-Dokumentationsgenerator

  • QDoc akzeptiert nun Formatierungsbefehle in Makroargumenten.
  • Autoren können nun den zugrunde liegenden Rückgabetyp einer Funktion, die mit einem fn-Befehl dokumentiert ist, mit „ auto “ überschreiben.
  • QDoc kann nun Dokumentation aus Kommentaren in C++-Headern generieren. Dies wurde in QDoc mit Qt 6.9 als Technologievorschau hinzugefügt, und wir würden uns über Feedback von unseren Nutzern freuen. Aktivieren Sie die QDoc-Konfigurationsvariable `documentationinheaders`, um es auszuprobieren.
  • QML-Enumerationsdokumentation kann mit dem neuen Befehl ` qmlenumeratorsfrom ` aus C++-Enumerationen generiert werden.
  • Die Befehle „generatelist“ und „annotatedlist“ unterstützen nun eine benutzerdefinierte Sortierreihenfolge für die generierten Listen.
  • „deprecated“ akzeptiert zukünftige Versionen, und QDoc generiert entsprechenden Text, wenn es erkennt, dass eine Version in der Zukunft liegt.
  • Anforderungen an Clang-Bibliotheken: QDoc benötigt Clang-Bibliotheken aus LLVM 17. Es wurde außerdem bestätigt, dass es mit Clang-Bibliotheken aus LLVM 18, 19 und 20 funktioniert.
  • QDoc unterstützt nun die Anpassung der CMake-Voraussetzungen für Projekte von Drittanbietern mit den Befehlen „cmakecomponent“, „cmakepackage“ und „cmaketargetitem “.
  • Warnungen zu Beispielen lassen sich nun über die neuen Konfigurationsvariablen „examples.warnaboutmissingimages“ und „examples.warnaboutmissingprojectfiles“ konfigurieren.
  • QDoc kann nun Tooltips für Bilder in Ihrer Dokumentation generieren. In der Dokumentation zur neuen Konfigurationsvariablen „usealttextastitle“ wird beschrieben, wie Sie diese Funktion für Ihr Projekt aktivieren können.

Änderungen am Build-System

Änderungen am Build-System

  • Für den Build von Qt und die Verwendung von Qt in CMake-Projekten ist nun CMake Version 3.22 oder höher erforderlich.

Desktop-Plattformen

Windows

  • Neue öffentliche CMake-API hinzugefügt:
    • Die CMake-Funktion ` qt_add_win_app_sdk ` wurde hinzugefügt, um das Windows App SDK zum Projekt hinzuzufügen.
  • Unterstützung für die Darstellung weiterer Emoji-Schriftarten wie CBDT und COLRv1 hinzugefügt.

Wayland-Client unter Linux

  • Unterstützung für das neue „ xdg-toplevel-icon-v1 “-Protokoll hinzugefügt, damit „ QWindow::setIcon()“ funktioniert, sofern der Compositor dieses Protokoll ebenfalls unterstützt.
  • Der zugrunde liegende „ wl_surface “ eines Fensters hat nun dieselbe Lebensdauer wie das Fenster und wird nicht mehr zerstört, wenn das Fenster ausgeblendet wird.

Mobile Plattformen

Android

  • Unterstützung für unkomprimierte native Bibliotheken in APKs und Wegfall der Notwendigkeit von ` packagingOptions.jniLibs.useLegacyPackaging true`.
  • Einführung der CMake-Funktion ` qt_add_android_permission()`.
  • Hinzufügen der CMake-Eigenschaft QT_ANDROID_COMPILE_SDK_VERSION zum Festlegen der SDK-Version für die Erstellung von Java-Code.
  • Fügen Sie die CMake-Eigenschaft „QT_ANDROID_APP_ICON“ hinzu, um das Symbol einer App festzulegen.
  • Hinzufügen der CMake-Eigenschaft „QT_ANDROID_APP_NAME“ zum Festlegen des App-Namens.
  • Entkopplung der Standort- und Bluetooth-Berechtigungen für API-Level 31+.
  • Ermöglichen Sie die Festlegung einer maximalen Anzahl von in der Warteschlange stehenden Hintergrund-UI-Ereignissen.
  • Fügen Sie ein Skript hinzu, um Apps einfach bereitzustellen, auszuführen und Protokolle über das Terminal abzurufen.
  • Qt Quick Für Android und QtQuickView:
    • Fügen Sie die Methoden `setData()` und `dataChanged()` zu ` QtAbstractItemModel` hinzu.
    • Fügen Sie die Callback-Schnittstelle `OnDataChangedListener` hinzu.
    • QtQuickViewContent: Überladung von `onStatusChanged()` hinzufügen, die das zugrunde liegende `QtQuickViewContent`-Objekt übergibt.
    • Unterstützung mehrerer eingebetteter Ansichten aus einem Android-Dienst heraus.

Eingebettete Plattformen

Boot to Qt

Echtzeit-Betriebssysteme

  • Unterstützung für Echtzeit-Betriebssysteme wird nur für LTS-Versionen bereitgestellt. Für Nicht-LTS-Versionen ist die Unterstützung ausschließlich über Professional Services verfügbar.

Liste der API-Änderungen

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

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