このページの内容

Qt 6.5の新機能

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

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

  • Qt Quick Effect Maker- `Qt Quick` 向けの高速なシェーダー効果を作成するためのツールです。
  • Qt Quick Effects -MultiEffect を含むモジュールで、Qt Quick Item に対して1つ以上のシンプルな Graphical Effects を適用できます。
  • Qt Quick 3D Physics- 「Qt Quick 3D」で使用するための物理エンジンです。このモジュールは、もはやテクノロジープレビュー段階ではありません。
  • Qt Qml Core- さまざまな Qt Core API を公開するモジュールです。

テクノロジープレビューの新規および復活したモジュール

注:API および ABI の安定性は保証されません。

  • Qt LocationのMap は、2D マップをQt Quick アプリケーションとしてレンダリングします。MapView には、一般的なインタラクティブ機能(ズーム、パン、チルト)を実装するためのQt Quick 入力ハンドラが含まれています。
  • Qt GRPC protobufの.proto仕様書に基づくサービス記述から生成されたクラスを使用して、gRPCサービスとの通信をサポートしています。
  • Qt Protobuf protobuf .proto仕様からQtベースのクラスを生成、シリアル化、およびデシリアル化することをサポートしています。

Qt 6.5 の新機能

Qt Core モジュール

  • QTimeZone は、Qt::TimeSpec 、および必要に応じてオフセットを、軽量な時間表現でパッケージ化できるようになりました。これにより、QTimeZone またはQt::TimeSpec とオフセットのいずれかを受け取るQDateTime およびQDate のさまざまな API が統一されます。
  • アプリケーションが、使用前にユーザーの同意を必要とする機能の権限を確認または要求できるようにするため、アプリケーション権限API を導入しました。
  • Common Trace Format (CTF) 形式の新しいクロスプラットフォーム・トレース・バックエンド。
  • QBindable NOTIFY シグナルを持つ任意のプロパティから構築できるようになりました。これにより、既存のバインド不可能なプロパティをバインド可能なプロパティと統合できるようになります。
  • qt_generate_deploy_app_scriptCMake 関数は、現在、OUTPUT_SCRIPT という引数を優先的に受け付けます。従来の FILENAME_VARIABLE を渡す方法は非推奨となりました。

Qt GUI モジュール

  • Windows、macOS、および iOS において、プラットフォーム固有の形式でのドラッグ&ドロップおよびクリップボードデータを処理するためのクラス `QWindowsMimeConverter ` および `QUtiMimeConverter ` が再導入されました。
  • QVulkanInstance Vulkan Portabilityの物理デバイスがデフォルトで有効になりました。これは、Appleプラットフォーム上の新しいMoltenVKバージョンで動作させるために必要です。これを無効にできるNoPortabilityDriversフラグが追加されました。
  • Vulkan レンダリングインフラストラクチャは、非推奨となった VK_EXT_debug_report および VK_EXT_debug_marker の代わりに、VK_EXT_debug_utils を使用するようになりました。
  • QTextLayout::glyphRuns()は、要求があった場合、各グリフに対応する文字列インデックスを返すようになりました。これは、新しい関数QGlyphRun::stringIndexes()を通じて利用可能です。
  • チェックボックスのリスト項目は、変換を含め、MarkdownだけでなくHTMLでも読み書きできるようになりました。
  • 未読メッセージの数などに関するフィードバックをユーザーに提供するために、QGuiApplication::setBadgeNumber() が追加されました。バッジは、macOS の Dock、iOS のホーム画面アイコン、または Windows のタスクバー上のアプリケーションアイコンにオーバーレイ表示されます。

Qt Quick モジュール

  • TableView 編集デリゲートを使用したセルの編集に対応しました。
  • TableView マウスを使用して行や列のサイズを変更できるようになりました。
  • TableView 行と列のサイズを明示的に設定できるようになりました。
  • TableView 新しいシグナル `layoutChanged()` が追加されました。このシグナルは、たとえばオーバーレイ項目の位置を変更するために使用できます。
  • TableView 複数選択のサポートが追加されました。
  • QSGMaterial 内で、RGB およびアルファのブレンド係数を個別に指定できるようになりました。
  • Qt Quick シーングラフは、プラットフォームおよび使用中の 3D グラフィックス API に応じて、グラフィックスパイプラインまたは中間形式のシェーダーバイトコードの永続的なディスクベースのキャッシュを自動的に使用するようになりました。これにより、アプリケーションの以降の実行において、グラフィックスパイプラインの作成にかかる時間が短縮されることが期待されます。 さらに、QQuickGraphicsConfiguration を使用することで、このデータを書き出すかどうかの有無や書き出し先、読み込み元を明示的に制御できます。これにより、アプリケーションやデバイスに事前に設定済みのキャッシュファイルを同梱するといった高度なユースケースが可能になり、初回起動の高速化も実現します。
  • PinchHandler には、新しい「scaleAxis 」および「rotationAxis 」グループ化プロパティが追加され、すべてのハンドラ軸グループで新たに導入された「activeValue 」プロパティを含む、いくつかの新しい値が提供されています。また、DragHandler ですでに実装されていた「activeTranslation 」および「persistentTranslation 」プロパティも追加されました。
  • DragHandlerのxAxis およびyAxis には、新しいactiveValue プロパティが追加されました。
  • PinchHandlerのactiveScale (以前はscale と呼ばれていました)は、minimumScale とmaximumScale の間の範囲に制限されなくなりました。これらの制限はpersistentScale にのみ適用されます。同様に、activeRotation (以前はrotation )も、minimumRotation とmaximumRotation の間の範囲に制限されなくなりました。これらの制限は、タッチスクリーンと同様に、ネイティブのタッチパッドのピンチジェスチャーに対しても同様に適用されます。
  • TapHandler::exclusiveSignals singleTapped および シグナルを排他的に設定できるようになりました。doubleTapped

Qt Labs アニメーションモジュール

Qt Quick Controls モジュール

Qt Test Module

  • QTest::currentTestResolved() が追加されました。これは、テストが失敗またはスキップされた場合に true を返します。これにより、ヘルパー関数からの戻り値の条件として、QTest::currentTestFailed() の代わりに使用できます。
  • QTest::mouseRelease() およびmouseClick() は、イベント間の中間状態を確認する必要がある場合に、現実的なタイムスタンプの遅延を指定することで、ダブルクリックのテストに使用できるようになりました。それ以外の場合は、依然としてmouseDClick() の方が便利です。

Qt Widgets Module

  • QKeySequenceEdit に 2 つの新しいプロパティが追加されました。maximumSequenceLength を使用すると、アプリケーションでキーシーケンスの長さを制御できます。finishingKeyCombinations は、記録を終了させるキーの組み合わせを定義します。
  • QOpenGLWidget に立体レンダリングのサポートが追加されました。これは、QOpenGLWidget ビューポートをバックエンドとするQGraphicsView にも適用されます。QOpenGLWindow や、Qt 5 および 4 で削除された QGLWidget とは異なり、QOpenGLWidget では、この機能に対する明示的なサポートと、それを支える API が必要です。これは、この場合、アプリケーションがネイティブウィンドウに直接レンダリングを行わないため、QOpenGLWindow の場合と同じようにアクティブな描画バッファを制御できないためです。

Qt Positioning モジュール

Qt Serial Bus モジュールxml-ph-0000@deepl.internal を導入しました。これは、xml-ph-0001@deepl.internal 用の QML API です。

  • QCanSignalDescription 、QCanMessageDescription 、QCanUniqueIdDescription クラスが導入されました。これらのクラスは、CAN バスメッセージをエンコードまたはデコードするための一連のルールを提供するために使用されます。
  • QCanFrameProcessor クラスが導入されました。このクラスは、受信したQCanBusFrame をキーと値のペアのマップにデコードしたり、キーと値のペアのマップからQCanBusFrame を生成したりするために使用できます。
  • QCanDbcFileParser クラスを導入しました。このクラスは、DBCファイルを解析してメッセージ記述を生成するために使用され、生成された記述は後でQCanFrameProcessor で使用できます。

新しいクラスはすべて実験的なものであり、変更される可能性があります。

Qt Network モジュール

  • QHttp1Configuration が導入されました。このクラスを使用すると、HTTP 1 を使用する際にホストごとに使用される最大接続数を設定できます(デフォルト:6)。
  • QNetworkRequest Qt for WebAssembly の `on` には `UseCredentialsAttribute` 属性が追加され、基になる XMLHttpRequest に対して `withCredentials` を有効にできるようになりました。

Qt Qml モジュール

  • QQmlApplicationEngine およびQQmlComponent に、モジュール URI および型名を使用して QML 要素を読み込んだり作成したりするための API が追加されました。URL ベースの関数とは対照的に、これは C++ 型やインラインコンポーネントでも機能します。
  • QQmlListProperty プロパティの挙動が配列に近くなり、map()、reduce()、forEach() などのメソッドがサポートされるようになりました。QList<int> などの他のシーケンス型についても同様です。
  • qmltcを拡張し、より多くの QML 構文(特に翻訳バインディング、インラインコンポーネント、シングルトン、および C++ で定義されたシグナルのシグナルハンドラ)をサポートするようにしました。
  • JavaScript関数に対する型注釈の強制を制御するためのpragma FunctionSignatureBehavior が導入されました。以前は型注釈は単なるヒントに過ぎませんでしたが、このプラグマにより強制可能となり、型安全性が向上しました。
  • QMLスクリプトコンパイラは、追加の構文を処理できるようになりました。具体的には:
    • console.log() および関連関数
    • let およびconst
    • qsTr() および関連関数
    • 文字列用の arg()
    • 残りのすべてのビット演算およびシフト演算子
    • べき乗演算子
  • 新しい環境変数 `QML_DISK_CACHE` を使用することで、QML ディスクキャッシュをよりきめ細かく制御できるようになりました。
  • 新しいパブリック CMake API を追加しました:
    • リソースプレフィックスのデフォルト設定を改善するためのQt CMake ポリシーを導入しました。QTP0001ポリシーがNEW に設定されている場合、QML エンジンは常にリソースファイルシステム内で QML モジュールを検出できるようになります。
  • CMake関数 `qt_generate_deploy_qml_app_script` は、現在、OUTPUT_SCRIPT という引数の使用が推奨されています。従来の FILENAME_VARIABLE の使用は非推奨となりました。
  • QML から呼び出された際に、ネイティブメソッドが `this ` オブジェクトをどのように扱うかを制御するために、pragma NativeMethodBehavior: AcceptThisObject が導入されました。

Qt Quick 3D モジュール

  • モデルに対する自動詳細度(LOD)のサポートが追加されました。これにより、アセットのインポート時にメッシュの簡略化されたバージョンを生成し、レンダリング時に適切な詳細度を自動的に選択できるようになります。
  • カメラとの距離に基づいてモデルの不透明度を制御するための、明示的な詳細度(LOD)のサポートが追加されました。
  • ExtendedSceneEnvironment が追加されました。これには、被写界深度、カラーグレーディング、グロー、ヴィネット、レンズフレアなどのエフェクトが組み込まれています。これらのエフェクトはまとめて実行されるため、それぞれ1回以上のレンダリングパスを必要とする個別のスタンドアロン後処理エフェクトと比較して効率が向上します。
  • DebugView に、レンダリング統計、アクティブなメッシュおよびテクスチャアセットのリスト、ライブレンダリングパス情報に加え、DebugSettings からのワイヤーフレームモードやマテリアルオーバーライドなどの設定をインタラクティブに切り替えるコントロールが追加され、機能が強化されました。
  • SceneEnvironment から利用可能な「DebugSettings 」が追加されました。これにより、ワイヤーフレームモードやマテリアルのオーバーライドなどの設定をプログラムで制御し、物理ベースのマテリアルの特定の側面のみをレンダリングできるようになりました。
  • InfiniteGrid を追加しました。これにより、フェードアウト機能付きの水平面上の無限グリッドが実装されます。
  • SceneEnvironment を通じて利用可能な、組み込みのシンプルなフォグ機能が追加されました。これを有効にすると、シーン内のモデルをレンダリングする際に、深度または高さのフォグ効果が適用されます。
  • インスタンスレンダリング使用時のピック操作を改善しました。
  • PrincipledMaterial およびSpecularGlossyMaterial
  • リフレクションプローブ:シーンをレンダリングする代わりに、指定されたキューブマップテクスチャを使用できるようになりました。
  • ポストプロセッシングエフェクトが強化され、実行時にシェーダーソースファイルの URI が変更されても適切に対応できるようになりました。
  • ランタイムで生成されたマテリアルシェーダーデータの、ディスクベースの永続的なキャッシュ機能が追加されました。これにより、アプリケーションの起動時間やビューの切り替え時間が短縮されることが期待されます。

Qt WebView モジュール

Qt Multimedia モジュール6.4 でテクノロジープレビューとして提供されていた ffmpeg メディアバックエンドが、Yoc

  • 6.4 でテクノロジープレビューとして提供されていた ffmpeg メディアバックエンドが、Yocto ディストリビューションを除く macOS、Windows、Android、および Linux でのデフォルトとなりました。ネイティブバックエンドは引き続き利用可能ですが、サポートは限定的です。
  • 新しいタイプのビデオ入力である `QScreenCapture ` クラスが導入されました。QScreenCapture から `QMediaCaptureSession ` を介して、QMediaRecorder やQVideoWidget などの出力先へビデオを送信することが可能です。スクリーンキャプチャ機能は、ffmpeg メディアバックエンドでのみ利用可能です。

プラットフォームの変更

WebAssembly

  • Qt Online Installer に、マルチスレッド対応のバイナリパッケージを追加しました。
  • ファイルシステムアクセスAPI のサポートを追加しました。QFileDialog::getOpenFileContent() やQFileDialog::saveFileContent() などのファイルダイアログ呼び出しは、ブラウザがサポートしている場合、この API を使用するようになりました。
  • ローカルフォントアクセスAPI のサポートを追加しました。Qt は、この API をサポートするブラウザでローカルフォントを使用するようになりました。
  • Qt Multimedia に、動画再生およびカメラサポートのテクニカルプレビューが追加されました。
  • WebAssembly SIMD 用の configure オプション「-feature-wasm-simd128」を追加しました。
  • WebAssembly 例外処理用の configure オプションを追加しました: -feature-wasm-exceptions
  • ユーティリティ関数およびWeb上のQt使用例を含む「Qt Web Utils」を公開しました。
  • QTest WebAssembly向けQtは、デフォルトでemrunを使用するようになりました。WebAssembly専用のスクリプトが自動テストの実行を制御します。

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

Windows

  • 環境変数 QT_WIN_DEBUG_CONSOLE を設定すると、コマンドラインから起動された GUI アプリケーションの stdout/stderr メッセージをコンソールウィンドウで表示できるようになります。new またはattach に設定してください。

macOS

Linux上のWaylandクライアント

  • クライアントに対して小数スケール係数を提案するコンポジター向けに、fractional_scale_v1プロトコルをサポートするようになりました。

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

Android

  • Gradle を 8.0 に、Android Gradle Plugin (AGP) を 7.4.1 に更新しました(JDK 11 以降が必要です)。
  • NDK を r25b (25.1.8937393) に更新しました。
  • サポートされるバージョンのリストは、Android 8.0 (API 26) 以降となりました。
  • プラットフォームの最小ビルド SDK バージョンを 33 に引き上げました (QT_ANDROID_API_VERSION)。
  • Qt のファイル/ディレクトリ機能による、コンテンツスキーマ URI に対する操作のサポートを拡充しました。
  • Android Scoped Storage における `QStandardPaths ` の修正およびドキュメントの更新。
  • Qt JNI 例外を Android システムではなく Qt から出力するように変更しました。
  • APK 署名スキーム v2 のサポートを修正しました。

iOS

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

Boot to Qt

  • Boot to Qt stack が yocto 4.1.2 (langdale) を使用するように更新されました。
  • Docker ベースのツールチェーンを使用した macOS ホストのサポート。
  • ターゲットハードウェアのサポートレベルが更新され、特定のハードウェアと OS の組み合わせに対して、複数のサポートレベルが適用されるようになりました。

APIの変更点のリスト

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

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