Qt 6.5 の新機能

Qt 6.5 の新しいモジュールと復活したモジュール

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

  • Qt Quick Effect Maker- 用の高性能シェーダーエフェクトを作成するツール。Qt Quick
  • Qt Quick Effects-MultiEffect を含むモジュール。Qt Quick Item に 1 つ以上のシンプルなグラフィカルエフェクトを適用するためのもの。
  • Qt Quick 3D Physics-Qt Quick 3D用の物理エンジン。このモジュールはテクニカルプレビューを終了しました。
  • Qt Qml Core- 様々な API を QML に公開するモジュールです。 Qt Core様々な API を QML に公開するモジュールです。

テクニカルプレビューの新モジュールと復活モジュール

注意: API と ABI の安定性は保証されていません。

  • Qt LocationMap は 2D マップをQt Quick アプリケーションにレンダリングします。MapViewQt Quick 入力ハンドラを含み、典型的なインタラクティブ機能 (ズーム、パン、チルト) を実装します。
  • Qt GRPCprotobuf .proto-specifications のサービス記述に基づいて生成されたクラスを使用して、gRPCサービスとの通信をサポートしています。
  • Qt Protobufprotobuf .proto-specifications から Qt ベースのクラスを生成、シリアライズ、デシリアライズできるようになりました。

Qt 6.5 の新機能

Qt Core モジュール

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

Qt GUI モジュール

  • Windows、macOS、iOS でプラットフォーム固有のフォーマットでドラッグ&ドロップとクリップボードデータを処理するためのクラスQWindowsMimeConverterQUtiMimeConverter が再導入されました。
  • 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 scenegraph は、プラットフォームと使用中の 3D グラフィックス API に応じて、グラフィックス・パイプラインまたは中間フォーマットのシェーダー バイトコードの永続的なディスクベースのキャッシュを自動的に使用するようになりました。これにより、アプリケーションの後続の実行において、グラフィックス・パイプラインの作成にかかる時間が短縮されることが期待されます。さらに、QQuickGraphicsConfiguration は、このデータが書き出され、どこからロードされるかを明示的に制御します。これにより、シード済みのキャッシュ・ファイルをアプリケーションやデバイスと一緒に出荷するといった高度な使用例が可能になり、初回起動も高速化される。
  • PinchHandler グループ化された新しい と プロパティがあり、すべてのハンドラ軸グループに新しく追加された プロパティを含む、いくつかの新しい値を提供しています。また、 がすでに持っていた と プロパティも追加されました。scaleAxis rotationAxis activeValue DragHandler activeTranslation persistentTranslation
  • DragHandler xAxis と には、新しい プロパティがあります。yAxis activeValue
  • PinchHandler'のactiveScale (以前はscale と呼ばれていた)は、minimumScalemaximumScale の間の範囲に制限されなくなった:これらの制限は、persistentScale にのみ適用される。同様に、activeRotation (以前はrotation )は、minimumRotationmaximumRotation の間の範囲に制限されなくなりました。これらの制限は、タッチスクリーンの場合と同様に、ネイティブのタッチパッドのピンチジェスチャに適用されます。
  • TapHandler::exclusiveSignals singleTapped と の信号を排他的にできるようになりました。doubleTapped

Qt Labs Animation モジュール

Qt Quick Controls モジュール

Qt Test モジュール

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

Qt Widgets モジュール

  • QKeySequenceEdit maximumSequenceLength では、アプリケーションがキー・シーケンスの長さを制御できるようになりました。 では、録画を終了するキーの組み合わせを定義します。finishingKeyCombinations
  • QOpenGLWidget に立体視レンダリングのサポートが追加され、QOpenGLWidget ビューポートに裏打ちされたQGraphicsView にも適用できるようになりました。QOpenGLWindow や、Qt 5 と 4 の QGLWidget とは異なり、QOpenGLWidget では、アプリケーションが直接ネイティブウィンドウにレンダリングしないため、QOpenGLWindow のようにアクティブな描画バッファを制御できないため、サポートする API を用意して明示的にサポートする必要があります。

Qt Positioning モジュール

Qt Serial Bus モジュール

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

Qt Network モジュール

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

Qt QML モジュール

  • QQmlApplicationEngineQQmlComponent に、モジュール URI と型名を使って QML 要素をロード/作成する API を追加しました。URLベースの関数とは対照的に、これはC++型やインラインコンポーネントでも動作します。
  • QQmlListProperty プロパティの振る舞いがより配列に近くなり、map()、reduce()、forEach()などのメソッドがサポートされるようになりました。 <int>のような他のシーケンス型も同様です。QList
  • qmltcを拡張し、特に翻訳バインディング、インラインコンポーネント、 シングルトン、C++で定義されたシグナルのシグナルハンドラなど、 より多くのqmlの構成要素をサポートしました。
  • QMLスクリプトコンパイラは、追加されたコンストラクトを扱うことができます。特に
    • console.log()とその仲間
    • letconst
    • qsTr()とその仲間たち
    • 文字列のarg()
    • ビット演算子およびシフト演算子
    • 指数演算子
  • 新しい環境変数QML_DISK_CACHE を使ってQML Disk Cache をより細かく制御できるようになりました。
  • 新しいパブリックCMake APIを追加しました:
    • Qt CMake ポリシーを導入し、リソース接頭辞のデフォルトを改善しました。QTP0001ポリシーをNEW に設定すると、QML エンジンは常にリソースファイルシステムから QML モジュールを見つけることができます。
  • qt_generate_deploy_qml_app_scriptCMake関数は、OUTPUT_SCRIPTという引数を受け付けるようになりました。古いFILENAME_VARIABLEを渡すことは非推奨です。

Qt Quick 3Dモジュール

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

Qt WebView モジュール

Qt Multimedia モジュール

  • ffmpegメディアバックエンドは、6.4のテクニカルプレビューで、Yoctoディストリビューションを除くmacOS、Windows、Android、Linuxのデフォルトになりました。ネイティブ・バックエンドは、限定的なサポートでまだ利用できる。
  • 新しいタイプのビデオ入力であるQScreenCapture クラスを導入。QScreenCapture からQMediaCaptureSession を経由して、QMediaRecorderQVideoWidget などの出力に直接ビデオを送ることができる。スクリーンキャプチャ機能は、ffmpeg メディアバックエンドでのみ利用可能。

プラットフォームの変更

WebAssembly

  • マルチスレッドを有効にしたバイナリパッケージをQt Online Installer に追加。
  • File System AccessAPI のサポートを追加しました。QFileDialog::getOpenFileContent() やQFileDialog::saveFileContent() のようなファイルダイアログ呼び出しは、ブラウザによってサポートされている場合、この API を使用します。
  • Local Font AccessAPI のサポートを追加しました。Qt はこの API をサポートしているブラウザでローカルフォントを使用するようになりました。
  • Qt Multimedia にビデオ再生とカメラサポートの技術プレビューを追加しました。
  • WebAssembly SIMD 用の configure オプションを追加した: -feature-wasm-simd128
  • WebAssembly 例外用の configure オプションを追加:-feature-wasm-exceptions
  • Qt Web Utilsにユーティリティ関数と Qt on Web の使用例を追加しました。
  • QTest WebAssembly 用に emrun をデフォルトで使うようにした。WebAssembly に特化したスクリプトが、自動テストの実行を行います。

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

Windows

  • 環境変数 QT_WIN_DEBUG_CONSOLE を設定することで、コマンドラインから起動した GUI アプリケーションの標準出力/標準エラーメッセージをコンソールウィンドウで見ることができます。new またはattach に設定してください。

macOS

LinuxのWaylandクライアント

  • クライアントに分数のスケールファクターを提案するコンポジター用に、fractional_scale_v1 プロトコルをサポートしました。

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

アンドロイド

  • 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 file/dir 機能でコンテンツスキーム URI の操作をより多くサポートしました。
  • Android Scoped Storage のQStandardPaths に関する修正とドキュメントの更新。
  • Qt JNI の例外を Android システムではなく Qt から出力するようにしました。
  • APK Signature Scheme v2 のサポートを修正しました。

iOS

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

Boot to Qt

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

API変更のリスト

これらのページでは、Qt 6.5 における API の変更点の概要を説明します:

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