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 アプリケーションにレンダリングします。MapView はQt 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 でプラットフォーム固有のフォーマットでドラッグ&ドロップとクリップボードデータを処理するためのクラス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 scenegraph は、プラットフォームと使用中の 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 Animation モジュール
- BoundaryRule に シグナルが追加されました。returnedToBounds
Qt Quick Controls モジュール
- TreeViewDelegate ツリーノードの編集をサポートしました。
- Material スタイルがMaterial 3 に更新されました。
- いくつかのコントロールのビジュアルが更新されました:
- いくつかの新しいAPIが追加されました:
- Material.containerStyleは、ターゲットコントロールが使用するコンテナのスタイルを制御します。Material.containerStyle は、ターゲットコントロールが使用するコンテナのスタイルを制御します。これは、任意のウィンドウまたはアイテムにアタッチできますが、デフォルトでサポートしているのはTextField とTextArea のみです。
- Material.roundedScaleは、ターゲットコントロールで使用される角丸の半径を制御します。任意のウィンドウまたはアイテムにアタッチできますが、デフォルトでサポートしているのは以下のコントロールのみです:
- iOSスタイルが完成しました
- 6.5のiOSスタイルで実装された新しいコントロールは以下の通りです:
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 モジュール
- QGeoSatelliteInfoSource の QML API であるSatelliteSource を導入しました。
Qt Serial Bus モジュール
- QCanSignalDescription,QCanMessageDescription,QCanUniqueIdDescription クラスを導入。これらのクラスは、CANバスメッセージをエンコードまたはデコードするためのルールセットを提供するために使用されます。
- QCanFrameProcessor クラスを導入。このクラスは、受信したQCanBusFrame をキーと値のペアのマップにデコードし、キーと値のペアのマップからQCanBusFrame を構成するために使用できます。
- QCanDbcFileParser クラスを導入。このクラスは、DBC ファイルを解析してメッセージ記述を生成するために使用され、後にQCanFrameProcessor で使用できる。
新しいクラスはすべて実験的なもので、変更される可能性があります。
Qt Network モジュール
- QHttp1Configuration を導入。このクラスは、HTTP 1 を使用するときにホストごとに使用される接続の最大数を設定するために使用できます (デフォルト: 6)。
- QNetworkRequest Qt for WebAssembly で UseCredentialsAttribute 属性が追加され、 の withCredentials が有効になりました。XMLHttpRequest
Qt QML モジュール
- QQmlApplicationEngine とQQmlComponent に、モジュール URI と型名を使って QML 要素をロード/作成する API を追加しました。URLベースの関数とは対照的に、これはC++型やインラインコンポーネントでも動作します。
- QQmlListProperty プロパティの振る舞いがより配列に近くなり、map()、reduce()、forEach()などのメソッドがサポートされるようになりました。 <int>のような他のシーケンス型も同様です。QList
- qmltcを拡張し、特に翻訳バインディング、インラインコンポーネント、 シングルトン、C++で定義されたシグナルのシグナルハンドラなど、 より多くのqmlの構成要素をサポートしました。
- QMLスクリプトコンパイラは、追加されたコンストラクトを扱うことができます。特に
- console.log()とその仲間
let
とconst
- qsTr()とその仲間たち
- 文字列のarg()
- ビット演算子およびシフト演算子
- 指数演算子
- 新しい環境変数
QML_DISK_CACHE
を使ってQML Disk Cache をより細かく制御できるようになりました。 - 新しいパブリックCMake APIを追加しました:
- Qt CMake ポリシーを導入し、リソース接頭辞のデフォルトを改善しました。QTP0001ポリシーを
NEW
に設定すると、QML エンジンは常にリソースファイルシステムから QML モジュールを見つけることができます。
- Qt CMake ポリシーを導入し、リソース接頭辞のデフォルトを改善しました。QTP0001ポリシーを
- 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 モジュール
- WebView の一般的な機能の一部を設定するためのWebViewSettings を追加。
Qt Multimedia モジュール
- ffmpegメディアバックエンドは、6.4のテクニカルプレビューで、Yoctoディストリビューションを除くmacOS、Windows、Android、Linuxのデフォルトになりました。ネイティブ・バックエンドは、限定的なサポートでまだ利用できる。
- 新しいタイプのビデオ入力であるQScreenCapture クラスを導入。QScreenCapture からQMediaCaptureSession を経由して、QMediaRecorder やQVideoWidget などの出力に直接ビデオを送ることができる。スクリーンキャプチャ機能は、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
- QMessageBox およびQErrorMessage 用のネイティブ・バックエンドを追加。
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
- QColorDialog とQFontDialog のネイティブ実装を追加。
組み込みプラットフォーム
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.