このページの内容

Qt 6.12の新機能

Qt 6.12 で追加・復活したモジュール

Qt 6.12 では、以下のモジュールとツールが追加されました:

  • Qt Qml デザインサポートモジュール。QML内でオブジェクトを登録および参照するための一連の型が含まれています。これは、将来的に提供される予定のQt Quick デザインツール向けです。

Qt 6.12の新機能

ActiveQt モジュール

特筆すべき変更点はありません。

Qt Bluetooth Module

  • Android バックエンドは、BTLE アドバタイジングの開始時に、QLowEnergyAdvertisingParameters を通じて指定されたアドバタイジングの最小および最大間隔パラメータを反映するようになりました。

Qt Canvas Painter モジュール

  • Qt Canvas Painterモジュールは Technology Preview 状態から移行し、現在は完全にメンテナンス(サポート)されています。
  • このモジュールには、Qt Canvas Painter を基盤とする新しい QML API である `QtCanvas2D` が追加されました。この API は引き続き Technology Preview のままです。
  • QCanvasPath SVG パス文字列を直接解析するためのaddPath() オーバーロードが追加されました。
  • QCanvasPainter パス塗りつぶしにおける EvenOdd 塗りつぶしルールをサポートするため、QCanvasPainter::FillRule およびQCanvasPainter::setFillRule() が追加されました。
  • QCanvasGradient 画像から直接グラデーションを作成するためのsetImage()が追加されました。
  • QCanvasRadialGradient 非対称(2 中心)の放射状グラデーションをサポートするために、コンストラクタおよびsetInnerCenterPosition() /setOuterCenterPosition() が追加されました。

Qt CoAP モジュール

特筆すべき変更点はありません。

Qt Core モジュール'xml-ph-0000@deepl.internal' および 'xml-ph-0001@deepl.internal' のカスタマイズポイントが拡張され、xml-ph-000

Qt D-Bus モジュール

特筆すべき変更点はありません。

Qt Graphs モジュール

  • Qt Canvas Painter を 2D グラフのレンダリングバックエンドとして使用できるようになりました。configure 時に、-feature-graphs-2d-high-performance-backend という configure フラグを指定して有効にしてください。
  • 2D グラフ用の新しい対数軸タイプ「QLogValueAxis 」(QML ではLogValueAxis )が追加されました。
  • QXYSeries QML からの宣言型データ入力用に、values 、valueMapping 、valueMin 、およびstepSize プロパティが追加されました。
  • QPieSeries QMLからの宣言的なデータ入力のために、sliceData およびsliceLabels プロパティが追加されました。
  • QValueAxis また、QLogValueAxis には、軸ラベルのテキストをカスタマイズするためのlabelPostFormat プロパティが追加されました。
  • Q3DGraphsWidgetItem 3D グラフでのパン機能を有効にし、設定するためのpanEnabled およびdragMode プロパティが追加されました。
  • QDateTimeAxis tickCount プロパティが追加されました。

Qt GRPC モジュール

Qt GUI モジュール

  • QRhi に間接レンダリングのサポートが追加されました。IndirectDrawBuffer 型のバッファを作成できるようになり、QRhiCommandBuffer を通じて間接ドローコールを発行できるようになりました。
  • QRhi ShaderDrawParameters 機能フラグが追加され、シェーダーの描画パラメータの組み込み型(例: )のサポートを照会できるようになりました。gl_DrawID
  • QRhi Vulkan バックエンドは、デバイスの喪失に関する追加の詳細を報告するために、VK_EXT_device_fault を使用するようになりました。
  • QAccessibilityHints motionPreference 向けに、動作を軽減するアクセシビリティ設定用のプロパティが追加されました。
  • QStyleHints toolTipWakeUpDelay が追加され、アプリケーションはツールチップが表示されるまでの遅延を照会または調整できるようになりました。
  • QImageReader effectiveSize() が追加され、 () を考慮した画像サイズを返すようになりました。autoTransform
  • QTextCursor::deletePreviousChar() (Backspace) が、マルチコードユニットの絵文字シーケンスを正しく処理するようになりました。
  • 入力メソッドが画面全体を占有しないように要求するためのQt::InputMethodHint::ImhNoFullscreen が追加されました。
  • Qt::InputMethodHint::ImhDecimalNumbersOnly を追加し、小数点を含む数字のみ入力できるようにし、負の数は入力できないようにしました。

Qt HTTP Server モジュール

Qt Image Formats モジュール

特筆すべき変更点はありません。

Qt Lottie Animation モジュールxml-ph-0000@deepl.internal() を追加し、同時接続の総数を制限できるようにしました。また、xml-ph-0001@deepl.internal() を追加

Qt MQTT モジュール

特筆すべき変更点はありません。

Qt Multimedia モジュール

Qt Network モジュール

  • TLS キー素材エクスポーター (RFC 5705) を公開するために、QSslKeyingMaterial および QSslConfiguration::keyingMaterial() /setKeyingMaterial() が導入されました。
  • QHostInfo clearCache() が追加され、プログラムで DNS 結果キャッシュをフラッシュできるようになりました。
  • QHttpHeaders QDataStream ストリーム演算子、 ヘッダーを解析するための ()、およびそれを設定するための () が追加されました。新しい QHttpHeaderRange クラスは、そのヘッダー内の 1 バイトの範囲を表します。Range rangeValues setRangeValues
  • OpenSSL TLS バックエンドは、OpenSSL 4 に対するビルドをサポートするようになりました。

Qt Network Authorization モジュール

特筆すべき変更点はありません。

Qt OPC UA モジュール特筆すべき変更点はありません。

特筆すべき変更点はありません。モジュール

Qt OpenAPI モジュール

  • qt_add_openapi_client()に、クライアントコードとともに Doxygen ベースのドキュメントを生成するためのオプション `GENERATE_DOCUMENTATION` および `DOCUMENTATION_OUTPUT_DIRECTORY ` が追加されました。
  • oneOfスキーマ機能のサポートが追加されました。
  • 生成されるモデルのプロパティゲッターの名前が変更されました。Q_PROPERTY は、YAML ファイルで使用されているものと同じプロパティ名を公開するようになりました。
  • 生成されるクライアント API メソッドは、もはや仮想メソッドではなくなりました。

Qt Positioning モジュール

Qt Print Support モジュールIRNSS および SBAS 衛星システムのエントリが追加されました。

特筆すべき変更点はありません。

Qt Protobuf モジュール

  • 生成されたメッセージクラス内の Qt プロパティは、デフォルトでFINAL 修飾子が付与されるようになりました。これにより、QML ツールはパフォーマンスの最適化を適用し、より効率的なコードを生成できるようになります。以前の動作に戻すには、qt_add_protobuf()の新しいオプションGENERATE_NON_FINAL_PROPERTIES を使用してください。

Qt Qml モジュール

  • QQmlEngine に、外部で作成された C++ オブジェクトを QML シングルトンとして登録するための `setExternalSingletonInstance()` が追加されました。QML_UNCREATABLE は、QML_SINGLETON と組み合わせて使用できるようになりました。
  • string.arg() QML の `` は、JavaScript の規約に合わせて、複数の引数を受け入れるようになりました。
  • QML で HTML の特殊文字をエスケープするためのグローバル関数 `Qt.escapeHtml()` が追加されました。
  • 必須のプロパティが欠落しているコンポーネントをインスタンス化する場合、エンジンは不完全なオブジェクトを黙って構築するのではなく、エラーを報告するようになりました。
  • QQmlProperty は、 qmlProperty と呼ばれる名前付き値型です。QML では、プロパティ型、関数の引数、または戻り値の型として使用できます。
  • QtQml.Models import: `SortFilterProxyModel ` に、RangeFilter 、RegExpFilter 、AllOfFilter 、AnyOfFilter の複合フィルタ型が追加され、ロール名を個別の引数として受け入れるように改良された `FunctionFilter ` が追加されました。
  • Qt.labs.qmlmodels import:TreeModel に、insertRow() およびmoveRows() メソッドが追加されました。
  • Qt Qml コンパイラ:QQmlSA::FixSuggestion::hint() 、QQmlSA::FixSuggestion::setHint() が削除されました。QQmlSA::FixSuggestion::fixDescription() はQQmlSA::FixSuggestion::description() に名称変更されました。

Qt Quick モジュール

Qt Quick コントロールモジュール

  • QtQuick.Controls.Native スタイルが追加されました。import QtQuick.Controls.Native は、コンパイル時にコンパイル対象のプラットフォームに最適なスタイルを選択します。これにより、コンパイル時のスタイル選択の利点と、アプリケーションにプラットフォーム固有のルックアンドフィールを持たせることができるという利点を両立させています。
  • ToolTip 自動ツールチップの表示/非表示を制御するための `policy ` プロパティが追加されました。
  • ComboBox highlightOnHover プロパティが追加されました。
  • RangeSlider 2つのハンドルが交差することを許可または禁止するためのcrossingEnabled プロパティが追加されました。
  • Menu separatorsCollapsible プロパティが追加されました。
  • MenuItem 関連付けられたAction からキーボードショートカットを表示するようになりました。
  • SearchField TextInput が空の場合、キーによるナビゲーションが可能になりました。
  • 利便性を高めるため、既存のTextField API の一部(selectTextByMouse、selectedText、selectionStart、selectionEnd、cursorPosition、select()、selectWord()、deselect())がSearchField に追加されました。

Qt Quick ダイアログモジュール

特筆すべき変更点はありません。

Qt Quick Effects モジュール

特筆すべき変更点はありません。

Qt Quick Test モジュール

Qt Quick 3D モジュール

  • 手続き型空のレンダリングおよび画像ベースの照明データの生成を行うためのSkyMaterial QMLタイプが追加されました。
  • QtQuick3D.Helpers のインポートにQuadTextureProvider が追加されました。これは、カスタムフラグメントシェーダーを使用してクワッドテクスチャをレンダリングするために使用されるQMLタイプです。
  • Model GPU インスタンス化を使用する際、詳細度 (LOD) を手動で制御するためのinstancingLodFactor プロパティが追加されました。
  • ExtendedSceneEnvironment スクリーンスペースの反射をより細かく制御するための `ssrThickness ` および `ssrMaxSteps ` プロパティが追加されました。
  • RuntimeLoader 動的に読み込まれたシーン内で、名前またはタイプによってオブジェクトを検索するための `query()` および `queryAll()` メソッドが追加されました。

Qt Quick 3D XR モジュール

  • モノビュー設定(XR_VIEW_CONFIGURATION_TYPE_PRIMARY_MONO )のサポートが追加され、Qt Quick の3D XRアプリケーションをARメガネなどの2D XRデバイス上で実行できるようになりました。

Qt Quick 3D 物理モジュール

Qt Remote Objects モジュール

Qt SCXML モジュール

特筆すべき変更点はありません。

Qt Sensors モジュール

特筆すべき変更点はありません。

Qt Serial Port モジュール

特筆すべき変更はありません。

Qt Spatial Audio モジュール

特筆すべき変更はありません。

Qt Serial Bus モジュール

特筆すべき変更はありません。

Qt SQL モジュール

特筆すべき変更はありません。

Qt SVG モジュール

  • QMovie およびAnimatedImage で、アニメーション付き SVG ファイルがサポートされるようになりました。

Qt Labs StyleKit モジュール

  • QWidget アプリケーションにStyleKitベースのスタイリングを適用する、QStyle のサブクラスであるQStyleKitStyle が導入されました。
  • このスタイルでは、RoundButton およびMenuSeparator というQt Quick コントロール型の実装が提供され、汎用的なフォールバックに取って代わりました。

Qt TaskTree モジュール

  • QtTaskTree::For には、反復回数としてqsizetype を受け取るオーバーロードが追加されました。これは、For(RepeatInterator(n)) のショートカットとして使用できます。
  • QtTaskTree::Forever QtTaskTree::Group への暗黙的な変換が可能になりました。
  • QtTaskTree::ListIterator QList を返すゲッター関数を受け取るオーバーロードが追加されました。

Qt Test モジュール

  • ベンチマーク結果には、測定バックエンド(時間、CPU ティック、イベント、Valgrind)間の分散と標準偏差が含まれるようになりました。
  • プレーンテキストのベンチマークロガーは、一貫性を保つために、浮動小数点数の結果を科学表記でフォーマットするようになりました。
  • コマンドラインで、有効なテスト関数とともに存在しないテスト関数が指定された場合でも、有効なテストは実行されます。

Qt Virtual Keyboard モジュール

特筆すべき変更点はありません。

Qt WebEngine モジュール

  • QWebEngineNavigationRequest ユーザーによるナビゲーションとプログラムによるナビゲーションを区別するために、userInitiated プロパティが追加されました。
  • QWebEngineProfile PKCS#11 ハードウェアトークンのロック解除を行うためのコールバックを提供する setCryptoModulePasswordFunction() が追加されました。

Qt WebSockets Module

特筆すべき変更点はありません。

Qt PDF モジュール

  • QPdfSearchModel 検索が「実行中」、「アイドル状態」、または「完了」のいずれの状態にあるかを追跡するための status プロパティと Status 列挙型が追加されました。
  • QPdfView カーソル位置を中心とした、Control キーとマウスホイールによるズームに対応しました。
  • render() には、画像形式と背景色を指定するためのオプション引数が追加されました。

Qt WebView モジュール

  • WebView は、Android、iOS、macOS、および Windows 上で、Qt リソースシステム(qrc:/ URL)からコンテンツを読み込めるようになりました。

Qt Widgets モジュール

Qt XML モジュール

特筆すべき変更点はありません。

ツール

Qt Assistant

  • Qt Assistant ダークカラースキームが有効な場合、オンラインのQtドキュメントの動作と同様に、ライトテーマおよびダークテーマのQt SVG図が正しく表示されるようになりました。

QML コマンドラインツール

  • qmllintに--only-explicit-categories オプションを追加し、すべてのデフォルトの警告を抑制するようにしました。
  • 登録済み型のプロパティやメソッドで使用される未登録の型は、qmltypes に「opaque」型として記録されるようになりました。これにより、ツールでの警告が回避され、qmlls でのオートコンプリートや定義への移動が機能するようになり、より多くの場所で C++ へのバインディングコンパイルが可能になります。
  • qmllintおよびqmllsにおいて、未知の型について、その型のバインディングや使用のたびに警告を生成するのではなく、1 回のみ警告を表示するように変更しました。
  • qmllintおよびqmllsに、以下の項目に関する新しい警告を追加しました:
    • QML 型のメンバーがシャドウされている場合。
    • 互換性のないファイル選択バリアント(オプトイン)。
    • 再帰的にインスタンス化された QML 型。
    • qmldir またはQT_QML_SOURCE_TYPENAME の名前ではなく、ファイル名で参照されている QML 型。
    • 1つ以上の引数を取るnew Array() オーバーロードのJavaScriptでの使用。
  • QML Language Server に以下の機能を追加しました:
    • コードアクションを介してコンポーネントをローダーにラップする。
    • QML_FOREIGN 経由で宣言された型の C++ 定義を検索する。
    • QML タイプ情報のバックグラウンド再構築中の進行状況を表示する。

QDoc ドキュメントジェネレータ

  • C++20のコンセプト:新しい \concept topic コマンドは、C++20 のコンセプト専用のリファレンスページを生成します。これには、そのコンセプトによって制約される、ドキュメント化された型や関数のリストが含まれます。 C++の概要にあるコンセプトのリファレンスは、HTMLおよびDocBook出力においてこれらのページにリンクされ、コンセプトによって直接制約されるテンプレートパラメータ(template <Integral T> など)には、typename キーワードの代わりにコンセプト名が表示されます。コンセプトへのリンクは、.index ファイルを介してモジュール境界を越えて機能します。
  • enable_if- ベースの SFINAE 制約は、不透明な無名のブール型テンプレートパラメータではなく、読みやすいrequires 節として表現され、Qt 6.11 で導入された C++20 の requires 節のサポートを拡張しています。関数に明示的なrequires 節も存在する場合、これら 2 つは組み合わされます。
  • 明示的にデフォルト値が設定された関数や削除された関数には、シノプシスに[default] および[delete] タグが付与されますが、コンパイラによって生成された特殊メンバー関数には[implicit] タグが付与されます。これらのタグはcppreference.comにリンクしています。 \fn ブロックを持たない場合、QDocは警告を出さずにドキュメントを自動生成します。明示的なドキュメントは生成されたテキストを上書きし、設定変数`showautogenerateddocs`をfalse に設定すると、出力から省略されます。
  • QDoc は、引数依存のルックアップを通じてのみ見つけることができる「隠しフレンド」と、単にアクセス権を付与するだけのフレンド宣言とを区別します。行外で定義されたものを含め、隠しフレンドについては、クラス修飾名ではなく、\fn operator==(const MyClass &, const MyClass &) のような自然なフリー関数構文を使用してドキュメント化してください。
  • 統一された表が、 \compares および \compareswith コマンドによって生成される、散在した比較ドキュメントの段落に代わり、統一された表が表示され、クラスがどの型と比較されるか、また各関係にどの比較カテゴリが適用されるかが一目でわかります。
  • `QDoc` \a コマンドは、テンプレートパラメータ名の妥当性チェックを行うようになりました。QDocは、クラスや型エイリアス内のドキュメント化されていないテンプレートパラメータ、および関数内のドキュメント化されていない非型パラメータやテンプレート・テンプレートパラメータについて警告を出します。
  • `status` \preliminary コマンドによって生成されるステータス記述子とメッセージを、予備的な設定変数でカスタマイズできます。これにより、デフォルトの表現の代わりに「Technology Preview」などの用語を使用することが可能になります。ステータスコマンドの優先順位は一貫しています。\preliminary は\modulestate を、\internal は両方を上書きします。
  • \module または\qmlmodule トピックに設定されたステータス(\preliminary や\deprecated など)は、メンバーが独自のステータスを設定していない限り、モジュールのメンバーに伝播されます。
  • 新しい \qmluncreatabletype トピックコマンドは、QML タイプシステムに登録されているがインスタンス化できない QML タイプを文書化します。QDoc は、QML_UNCREATABLE マクロで注釈が付けられたタイプも自動的に検出します。
  • アタッチされたプロパティ、シグナル、およびメソッドは、「すべてのメンバー」ページだけでなく、メインの QML リファレンスページにも注釈が付けられています。
  • ` \qmlmethod コマンドには完全なシグネチャが必要です。戻り値の型が欠落している場合や、パラメータリストの解析に失敗した場合は、QDoc によって警告が表示されます。
  • クラスドキュメント内の include 文は、Clang によって報告された実際のヘッダーファイル名を反映しています。Qt スタイルの利便性ヘッダー(<QString> など)を使用しているプロジェクトは、引き続き自動的に動作します。
  • 各プロジェクトには、ベース出力ディレクトリに 1 つの.index ファイルが生成され、フォーマット固有のサブディレクトリにあるフォーマットごとのコピーが置き換えられます。インデックス設定変数内の相対パスは、他のパス変数と同様に、.qdocconf ファイルの場所を基準として解決されます。
  • 生成されたHTMLファイルには、ページの種類(クラス、QMLタイプ、モジュール、例など)に基づいた<meta name="keywords"> エントリが自動的に含まれており、後処理やサイトマップの生成が容易になります。コードブロックには、highlight.jsの構文強調表示と互換性のあるタグが付けられています。
  • ドキュメント作成に関する細かな改善点として、 \metaqdoc-suppress-inheritance を使用すると、ドキュメント作成目的のみで基底クラスを継承する型について、「Inherits:」行の表示が抑制されます。 \list 開始値が 0 以下の場合も正しく処理されます。また、\# は、\l のリンク先において、リテラル文字「# 」を表します。さらに、 \details ドキュメントに記載された中括弧で囲まれたサマリー引数の使用を強制します。
  • LLVM/Clang 22 との互換性が追加されました。

Qt Linguist

  • lupdate は、.ts ファイル内の既存の改行コードを保持するようになりました。Windows では、CRLF 改行コードを含むファイルは CRLF のままその場で更新され、LF 改行コードを含むファイルおよび新規ファイルは LF を維持します。
  • Qt Linguist 必要に応じてオンラインのWebドキュメントを利用できる新しいオプション -web-help が追加されました。

Resource Compiler (rcc)

  • rcc は、コンテンツベースの SHA256 ハッシュを使用してリソースデータの重複排除を行うようになりました。Qt リソースコレクションに埋め込まれた同一のファイルは 1 回のみ保存されるため、アプリケーションのソースコードを変更することなく、コンパイル済みリソースのサイズを削減できます。

プラットフォームの変更点

ビルドシステムの変更

Qtのビルド

  • Qtのビルドには、CMake 3.25以降が必要になりました。
  • C++ ランタイムライブラリを静的にリンクするための CMake 機能「static_compiler_runtime 」が追加されました。Windows (MSVC) では、これによりハイブリッド CRT 方式が使用され、Visual C++ 再配布パッケージへの依存が解消されます。
  • Android向けQtのビルドでは、Qt JARターゲットに対してjavac を直接呼び出す代わりに、Gradleを使用するようになりました。

CMake API

  • Qt を使用するには、CMake 3.25 以降が必要になりました。
  • 以下の CMake API は、テクノロジープレビューの段階を脱し、完全にサポートされるようになりました:qt_finalize_project()、qt_extract_metatypes()、qt_deploy_translations()、QT_TARGETS_FOLDER、QT_RESOURCE_PREFIX、QT_DEPLOY_SUPPORT、およびQT_ENABLE_VERBOSE_DEPLOYMENT。
  • qt_no_entrypoint ターゲットプロパティは、QT_NO_ENTRYPOINTに名称変更されました。下位互換性を確保するため、旧名称も引き続き認識されます。
  • CMakeポリシー `QTP0006` が追加されました。これを `NEW` に設定すると、`qt_generate_wayland_protocol_client_sources()` および`qt_generate_wayland_protocol_server_sources()` のデフォルト値が、`PUBLIC_CODE` ではなく `PRIVATE_CODE ` になります。
  • qt_add_shaders()の進行状況メッセージは、NOTICE ではなくDEBUG レベルでログに出力されるようになり、デフォルトのビルド出力からは表示されなくなりました。以前の動作に戻すには、CMake に--log-level=NOTICE を指定してください。
  • qt_add_qml_module()に、ビルドディレクトリ内での自動的なqt.conf 生成を抑制するNO_GENERATE_QTCONF オプションが追加されました。
  • ビルドシステムでは、QMLモジュールを含む各実行ファイルに対して、<exe>_qmlpreviewターゲットが提供されるようになりました。このターゲットを「ビルド」すると、ビルドシステムは適切な引数を指定してqmlpreviewユーティリティを起動し、実行ファイルのQMLプレビューを可能にします。特に、.qrcファイルのパスを自動的に解決します。
  • 2つの新しいターゲット値、QT_WINDOWS_APP_PROJECT_IDENTIFIERおよびQT_WINDOWS_APP_PROJECT_EXECUTION_LEVEL が利用可能になりました。以下の「Windows」のセクションも参照してください。

デスクトッププラットフォーム

Windows

  • CMake プロジェクトでは、qt_add_executable() を使用してビルドされた Windows 実行ファイルに対して、アプリケーションマニフェストが自動的に生成・埋め込まれるようになりました。このマニフェストは、Windows 10/11 との互換性を宣言し、長いパスへの対応を有効にし、UAC の実行レベルを設定します。 生成されるマニフェストは、2つの新しいCMakeターゲットプロパティによって制御されます。QT_WINDOWS_APP_PROJECT_IDENTIFIERはアセンブリ識別名を設定し、QT_WINDOWS_APP_PROJECT_EXECUTION_LEVELは実行レベルを設定します。詳細については、「Qt for Windows - デプロイメント」を参照してください。
  • windeployqtには、Windows Store appxパッケージとしてパッケージ化に適したAppxManifest.xml を生成するための--appx および--appx-certificate オプションが追加されました。
  • QOperatingSystemVersion::Windows11_25H2 (10.0.26200) が、名前付き OS バージョン定数として追加されました。
  • Windows では、プラットフォームプラグインが、常に sRGB を報告するのではなく、ColorProfileGetDisplayDefault を通じて各画面の ICC プロファイルから色空間を導出するようになりました。
  • DirectWrite フォントバックエンドは、各フォントの GASP テーブルを読み取り、フォントおよびポイントサイズごとに適切なアンチエイリアシング戦略を選択するようになり、フォントデザイナーの意図により忠実に沿うようになりました。
  • 現在の Intel GPU ドライバーでは、シェーダーのディスクキャッシュが再び有効になりました。Windows 上の Intel グラフィックスでは、数年にわたり無条件に無効化されていましたが、現在は代わりにドライバーのバージョンチェックが行われるようになり、最新の Intel ハードウェアでのQt Quick の 3D パフォーマンスが向上しています。
  • QWizard システムがダークモードの際、Aeroウィザードスタイルが正しくレンダリングされない問題に対処し、適用されなくなりました。
  • Visual Studio 2026では、ARM64ECが完全にサポートされるようになりました。インストーラーパッケージはありません。Qt WebEngine 、QtWebView 、Qt Quick 3D Physicsなどの一部のモジュールはサポートされていません。

Linux

  • QDesktopServices::openUrl()は、利用可能な場合、xdg-open やその他のフォールバックよりも、org.freedesktop.portal.OpenURI XDGデスクトップポータルサービスを優先するようになりました。このポータルの動作は、以前に使用されていたアプリケーションとは異なる場合があります。
  • ポータルが利用できない場合に使用されるフォールバックが更新されました。Plasma 6 のkde-open が認識されるようになった一方で、KDE 3 時代のkfmclient に対するサポートは廃止されました。
  • 新しいmotionPreference プロパティは、デスクトップ設定から値が設定されます。具体的には、org.freedesktop.appearance ポータルネームスペース内のreduced-motion キー、およびGNOMEのorg.gnome.desktop.interface enable-animations 設定です。
  • ネイティブの GTK3 フォントダイアログは、スケーラブルフォントと非スケーラブルフォント、および等幅フォントとプロポーショナルフォントの両方について、QFontDialog フォントフィルタリングオプションを反映するようになりました。
  • AT-SPI アクセシビリティブリッジは、展開済みおよび展開可能な状態の変更について、支援技術に通知するようになりました。
  • fontconfig 2.17.1 以降で実行する場合、Qt リソースから追加されたフォントが再び正しく登録されるようになりました。
  • X11 では、ツールチップウィンドウが表示されるたびに再作成されることはなくなりました。
  • QNetworkProxy libproxy バックエンドを使用する場合、*_PROXY 環境変数内のsocks5h スキームを認識するようになりました。

macOS

  • QScreen::grabWindow() は、非推奨となった `CGDisplayCreateImageForRect` の代わりに `ScreenCaptureKit` を使用するようになりました。API を初めて使用する際に、権限の確認プロンプトが表示されます。
  • QWindows フリップされていないNSViewに親として配置された は、親ビューのサイズ変更時にも、親ビューの左上隅に対する相対的な位置を維持するようになりました。
  • QCocoaNativeInterface::setEmbeddedInForeignView() Qtのビュー階層を外部のNSView に埋め込むために` `を使用することは、もはや必要ではなく、サポートもされなくなりました。Qtがこれを自動的に管理するようになりました。
  • 静的 Qt ビルドに基づいて構築されたサンドボックス化されたアプリは、Apple プラットフォーム上でデフォルトで再配置可能になりました。
  • QMainWindowの統一されたタイトルおよびツールバーモードは、非推奨となったテクスチャ付きNSWindow スタイルの代わりに、Qt::ExpandedClientAreaHint およびQt::NoTitleBarBackgroundHint を介して実装されるようになりました。
  • QStandardPaths::standardLocations() には、ConfigLocation 、GenericConfigLocation 、およびAppConfigLocation に対して、システム全体の/Library/Preferences ディレクトリが含まれるようになりました。

Linux上のWaylandクライアント

  • セッション復元のためのXdgSessionManager Wayland プロトコル拡張のサポートが追加されました。
  • bradient クライアントサイド装飾テーマで、最小化、最大化、および閉じるボタンのヒントが表示されるようになりました。

Wayland コンポジター

  • linux-dmabuf-v1 の安定版プロトコル(バージョン4)のサポートを追加しました。これを使用するには、クライアントバッファ統合として「linux-dmabuf-v1」を選択してください。互換性のため、以前の実装(バージョン3)は「linux-dmabuf-unstable-v1」という名前で引き続き使用可能です。

HarmonyOS

Qt 6.12 では、HarmonyOS(OpenHarmony API レベル 23、HarmonyOS 6.1.0)のサポートがテクノロジープレビューとして導入されました。Vulkan はサポートされていますが、アクセシビリティおよびEmbeddedUIExtensionAbility はまだ利用できません。

HarmonyOS 上で Qt アプリケーションをビルドおよびデプロイするために、以下のツールと CMake 関数が提供されています:

  • harmonydeployqt は、Qt アプリケーションを HarmonyOS アプリケーションパッケージ (HAP) としてパッケージ化し、必要な Qt ライブラリやプラグインをコピーし、build-profile.json5 およびmodule.json5 メタデータを生成し、HAP 署名設定の埋め込みをサポートします。
  • harmonyostestrunner hdc 経由で、接続された HarmonyOS デバイスまたはエミュレータ上で Qt 自動テストを実行します。これは からトリガーされます。ctest
  • qt_add_harmonyos_permission() は、アプリケーションに必要な HarmonyOS 権限を宣言します。

HarmonyOS へのデプロイに関する主要な CMake ターゲットのプロパティには、以下が含まれます:

既知のプラットフォームの制限事項の完全なリストについては、Qt for HarmonyOS のプラットフォーム制限事項に関するWiki ページを参照してください。

モバイルプラットフォーム

Android

Android向けQt
  • Gradle を 9.5.1 に、Android Gradle プラグインを 9.2.1 に更新しました。
  • デフォルトのターゲット SDK バージョンを Android 17(API レベル 37)に更新しました。
  • Android 13以降における予測バックジェスチャーのサポートを追加しました。QtはOnBackInvokedCallback を通じてバックイベントを配信し、デフォルトでandroid:enableOnBackInvokedCallback マニフェスト属性を有効にします。
  • Gradle マルチモジュールビルドのサポートを追加しました。これはQT_ANDROID_GRADLE_MULTI_MODULE で有効になります。これはPlay Feature Delivery の基盤となります。CMake がandroiddeployqtやサードパーティ製ツールを使用せずにデプロイパイプライン全体を処理するため、ビルドがより高速かつ簡素化されます。
  • QT_ANDROID_GRADLE_MULTI_MODULE の採用に伴い、QT_USE_ANDROID_MODERN_BUNDLE という CMake 変数は非推奨となりました。下位互換性のため、旧名称も引き続き認識されます。
  • Qt::InputMethodHint::ImhNoFullscreen 、ImhDecimalNumbersOnly 、およびImhNoEditMenu の入力メソッドヒントのサポートが追加されました。
  • 「戻る」キーを押すと、アプリケーションが終了するのではなく、バックグラウンドに移行するようになりました。「戻る」キーおよび「戻る」ジェスチャーを参照してください。
  • TalkBackのアクセシビリティが改善されました:
    • Qt がACTION_SHOW_ON_SCREEN アクションに応答するようになりました。
    • Qtは、スクロールされたビューポートおよびスクロール位置の変更を報告するようになりました。
    • Qtは、expandable状態およびexpanded状態をサポートするようになりました。
    • アクセシビリティフォーカスがテキスト入力フィールドに移動しても、ソフトキーボードが開かなくなりました。
    • motionPreference のヒントが、システムの「Remove animations 」設定を反映するようになりました。
  • androidtestrunner は、--serial および--output オプションを認識し、テスト実行中のデバイスの切断を検出し、クラッシュおよび「アプリケーションが応答しない (ANR)」に関する診断情報をより詳細に表示するようになりました。
  • Qt は、バンドルされた FFmpeg ビルドで OpenSSL ライブラリが必要な場合、OPENSSL_ROOT_DIR または vcpkg を通じてそのライブラリを検索し、自動的にデプロイするようになりました。
  • Gradle テンプレートでは、resConfig "en" を強制しなくなりました。
Qt Quick Android用

iOS

  • QStandardPaths::PublicShareLocation これにより、以前は「Documents」ディレクトリ内に合成されていたパスではなく、<APPROOT>/Public (NSSharedPublicDirectory と一致)が返されるようになりました。
  • standardLocations(PicturesLocation) には、書き込み可能な Documents/Pictures パスに関する重複エントリがもはや含まれていません。
  • QStandardPaths::TemplatesLocation 既存のドキュメントに記載されている通り、iOS ではサポートされていないことが正しく報告されるようになりました。

組み込みプラットフォーム

Boot to Qt および Qt Onboard

  • Qt 6.12 LTS 以降、Qt Online Installer または Qt アカウントからのプリビルド済みBoot to Qt イメージのダウンロードは利用できなくなりました。

    バイナリの代わりに、コンテナベースの2つの配布形態が導入されました:

    • ビルドコンテナ:必要なビルドツールがすべてあらかじめインストールされた、すぐに使える環境です。これにより、ターゲットハードウェア向けのYoctoベースのLinuxイメージを迅速にビルドすることができます。
    • デモコンテナ:Qt Demo Launcherを含み、Qtの機能をすぐに体験できる厳選されたデモセットが収録されています。

    これらのコンテナは、Qt 6.12 LTSのパッチリリースサイクル中に段階的に導入され、Qt 6.12.4のリリースに先立ち、コンテナベースの提供体制が完全に整います。

  • 新しいプラットフォーム:
    • Orange Pi 2
    • NXP i.MX95
    • Qualcomm Dragonwing IQ6
    • Qualcomm Dragonwing IQ9
    • Renesas RZ/G3E

リアルタイムOS

QNX
  • QNX での Vulkan サポートが追加されました。
  • Qt Multimedia QNX 8.0 上でビルドできるようになりました。QNX SDP 8.0 向けのオーディオバックエンドがまだ実装されていないため、オーディオの再生および録音はまだ利用できません。
VxWorks
  • VxWorks 26.03 のサポートが追加されました。

WebAssembly

  • QAudioSource およびQAudioSink では、OpenAL の代わりに Web Audio API AudioWorklets バックエンドを使用するようになり、ブラウザネイティブの低遅延オーディオキャプチャが可能になりました。
  • また、texImage2D を使用して WebGL にビデオフレームをアップロードし、ゼロコピーレンダリングが可能になりました。 Qt Quick。
  • QCameraFormat のサポートを追加しました。

APIの変更点一覧

これらのページには、Qt 6.12 における API の変更点の概要が記載されています:

既知の問題

Qt 6.12 の既知の問題については、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.