Qt 6.10 の新機能

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

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

Qt 6.10 の新機能

Qt Core モジュール

  • QLocale が CLDR v47 に更新されました。
  • QLocale::uiLanguages() に切り捨てられたエントリが含まれるようになり、順序が改善されました。
  • QLocale::toString積分型の () オーバーロードが精度と幅を受け付けるようになりました。
  • qDebug() の出力で、同じ言語、スクリプト、領域に対して、システムロケールと CLDR 由来のロケールが区別されるようになりました。
  • QLocale::toString(double, ...) の指数区切り文字が、要求されたケースに再び一致するようになりました。
  • QCalendar::daysInMonth() で指定されていない年について、最大値を出力するようになりました。
  • 新しいQRangeModel クラスは、任意の C++ 範囲を操作できるQAbstractItemModel の実装を提供します。
  • QXmlStreamReader::readRawInnerData() を使用して、要素の生の XML 内部コンテンツを取得できるようになりました。
  • Error enum、error()、errorString()、raiseError() 関数によるQXmlStreamWriter のエラー処理 API。
  • QXmlStreamWriter::stopWritingOnError() プロパティを追加し、エラー発生直後に出力を停止するかどうかを制御できるようにした。
  • QFuture::cancelChain() が追加され、チェインから終了していないQFuture を使用して継続チェイン全体をキャンセルできるようになった。
  • 新しいqEnvironmentVariableIntegerValue は環境変数の数値を返し、変数が設定されていないか整数を保持していない場合はstd::nullopt を返す。
  • QFileInfo::isOther() は、ディレクトリでも通常ファイルでもシンボリックリンクでもないファイルシステム・エントリに対して真を返します。
  • Direction パラメータを取るQSortFilterProxyModel::endFilterChange() を追加し、以前のendFilterChange() 呼び出しとのバランスをとるようにした。これらの API はinvalidateFilter() を置き換えるもので、Qt 6.13 からは非推奨となります。
  • QMetaObject::connect() の2つの新しいオーバーロードは、シグナルのQMetaMethod をスロット関数やラムダに接続することを可能にします。
  • QCborValue::toStringView() とQJsonValue::toStringView() は、値に格納された文字列のビューを、割り当てなしで返します。
  • QDataStream::operator bool()QTextStream::operator bool() を使用して、ストリームがエラー状態にあるかどうかをチェックする。
  • QByteArray またはQString にヌル・ターミネータを追加するには、QByteArray::fromRawData() を使用してそれらを構築した後などに、nullTerminate() を使用する。isNullTerminated() を使用して、配列または文字列が NULL 終端であるかどうかをテストします。
  • QByteArray は暗黙的に std::string_view に変換できるようになりました。

Qt DBus モジュール

Qt Graphs モジュール

Qt GRPC モジュール

Qt GUI モジュール

  • QStyleHints::accessibility は、システムがコントラストを上げる設定を有効にしているかどうかなど、ユーザーのアクセシビリティ設定へのアクセスを提供します。
  • 個々のアクセシビリティ設定にアクセスするために、QAccessibilityHints を追加しました。
  • QRhi:Direct 3D 11、12、または Vulkan で動作している場合に、enumerateAdapters() 関数を使用して 3D グラフィックス・アダプタ(物理デバイス)を列挙できるようになりました。
  • QPainterPath::setCachingEnabled() 関数を使用して計算値のキャッシュを有効にすることで、メモリの追加使用を犠牲にして特定の操作のパフォーマンスを向上させることができます。
  • パスのセクションを返すQPainterPath::trimmed() が追加されました。

Qt HttpServer モジュール

Qt Lottie Animation

  • ソリッドレイヤー、ヌルレイヤー、プレコンポジションレイヤーのサポートを追加。
  • lottietoqmlツールを追加。これはsvgtoqmlと同等のツールで、LottieファイルをQMLで記述されたQt Quick シーンに変換します。現在技術プレビュー中です。
  • VectorImage 、SVGに加えてLottieファイルを読み込めるようにするプラグインを追加しました。この機能は技術プレビューで、assumeTrustedSourcetrue に設定する必要があります。
  • lottietoqmlのサンプルとqtlottieviewerのサンプルを追加しました。 Qt Lottie Animation.

Qt Multimedia モジュール

  • ネイティブのPipeWireオーディオバックエンドを追加。
  • 優れたSignalsmith Stretch ライブラリに基づく、FFmpeg ベースのQMediaPlayer のオーディオピッチ補正。動作はpitchCompensation プロパティでカスタマイズできます。
  • QCapturableWindow C++ と QML の両方でQWindow から構築できるようになりました。
  • 新しいクラスQPlaybackOptions を追加し、ユーザーが低レベルの FFmpeg メディア再生オプション(例えば、再生インテント、ネットワーク・タイムアウト、プローブ・サイズなど)を制御できるようにしました。
  • QAudioSinkQAudioSource で、ユーザーがバイトカウントではなくフレームカウントで基礎となるオーディオバッファを操作できるメソッドを追加。

Qt Network モジュール

  • QSslCertificate に fromFile() メソッドを追加。
  • HTTP ヘッダーに日付と時刻の値を設定するための便利なメソッド setDateTimeValue() をQHttpHeaders に追加。
  • QDateTime 、整数、またはこれらの型のリストとして値を取得するための便利なメソッドをQHttpHeaders に追加した。

Qt Protobuf モジュール

Qt QML モジュール

  • QML ファイルでツリー構造を定義でき、TreeView で動作するTreeModel QML タイプを追加しました。
  • SortFilterProxyModel QML タイプを追加し、モデル・データのソートとフィルタリングを行えるようにしました。この機能は技術プレビュー中です。
  • DelegateModel およびすべてのビューに delegateModelAccess プロパティを追加しました。必要なプロパティをモデルに書き込むことができるようになりました。
  • Synchronizer QML タイプを追加しました。Synchronizer は、バインディングを使用せずに 2 つ以上のプロパティを同期させます。この機能は技術プレビュー中です。
  • qmlformatにセミコロンのカスタマイズルールを追加しました。JS文の最後にセミコロンを追加するかどうかを制御できるようになりました。
  • Qt Creator との互換性向上に焦点を当てた新しい qmllint 警告を追加しました。これにはQt Design Studio 固有の制限のチェック、JavaScript 関連の追加の警告、QML の列挙とインポートに関連するいくつかの新しい警告が含まれます。
  • TableModel から複雑な行構造の操作のサポートを削除しました。

Qt Quick モジュール

  • CSSのFlexboxに似た柔軟な方法でクイックアイテムを配置するためのFlexboxLayout QMLタイプを追加しました。この機能は技術プレビュー中です。

Qt Quick Controls モジュール

  • FluentWinUI3 スタイルで、Windows 11 のコントラストテーマのサポートが改善されました。
  • SearchField コントロールを追加しました。

Qt Quick Dialogs モジュール

  • 非ネイティブダイアログを別ウィンドウで開くか、既存シーンのアイテムとして開くかを制御するために使用できるプロパティpopupType を追加しました。これは、ネイティブダイアログを使用する場合には影響しません。

Qt Quick Effectsモジュール

Qt Quick 3Dモジュール

  • シェイプされたエミッタにエミットモードを追加し、シェイプのサーフェス法線に基づいてパーティクルを放出できるようにしました。
  • reversed エミッターを実装し、パーティクルを終了時間から開始時間まで実行できるようにしました。
  • ライトマップ関連のいくつかの改善と変更:
    • Model::texelsPerUnitLightmapper::texelsPerUnit プロパティを追加し、現在は非推奨のModel::lightmapBaseResolution プロパティを置き換えました。
    • シーン全体に1つのライトマップ光源を設定するLightmapper::source プロパティを導入し、BakedLightmap::loadPrefix を置き換え、非推奨としました。
    • Lightmapper::denoiseSigma プロパティによって制御される、ベイクされたライトマップのためのGPUベースのNon-local Means (NLM)ノイズ除去をビルトインで追加。
    • ライトマップのベイクウィンドウが改善され、プログレスバーと残り時間の見積もりが表示されるようになりました。
    • ベイクは独自の RHI コンテキストで行われるようになり、実行中のアプリケーションのレンダリングをブロックしません。
    • 特定のシーンのベイク時に RAM と VRAM の使用量が減少しました。
    • ベイクされたライトマップ ファイルを GUI またはコマンドラインでデバッグするためのライトマップ ビューア ツールが追加されました。
  • glTF2 baseColorFactor のカラーインポートを修正し、linear から sRGB に正しく変換して、仕様に合わせました。
  • QtQuick3D.Helpers に、固定テクスチャ、非同期作成のサポート、および公開された uvProfile プロパティを含むCapsuleGeometry を追加。

Qt Quick 3D XRモジュール

  • 空間アンカーのルームスキャンをリクエストするためのmethod を公開。

Qt Quick 3D Physics モジュール

Qt Quick VectorImageモジュール

  • Qt SVG のアニメーション・サポートと一致するアニメーションSVGのサポートを追加。
  • ソース・ファイルが信頼できるかどうかを示すためにAPI を追加。
  • アニメーションの動作を制御するためにAPI を追加。
  • によって提供されるプラグインをインクルードすることで Qt Lottie Animationによって提供されるプラグインを含めることで、VectorImage は Lottie ファイルも表示できるようになりました。この機能は技術プレビューとみなされ、assumeTrustedSourcetrue に設定する必要があります。

Qt Serial Port モジュール

  • writeBufferSize プロパティを使って書き込みバッファサイズを制限できるようにした。

Qt Serial Bus モジュール

Qt SQLモジュール

Qt SVG モジュール

  • fill-opacity, stroke-opacity, opacityプロパティのCSSアニメーションのサポートを追加した。
  • SVG ファイルの表示方法を示す例を追加した。

Qt Test モジュール

  • データ・ドリブン・ベンチマークがグローバル・データとローカル・データの両方をプレーンテキスト名で識別するようになった。
  • Apple Silicon 上で lldb からのバックトレースが無効になりました。
  • QTest が比較で浮動小数点値を表示する場合、完全な精度を与えるようになり、hexfloat バージョンも含まれるようになった。

Qt VirtualKeyboard モジュール

  • サードパーティソースの属性ファイルに PURL と CPE 情報を追加。
  • ラトビア語のキーボードレイアウトを追加。

Qt WebEngine モジュール

Qt WebView モジュール

  • Windowsプラットフォーム用のWebView2プラグインを追加。新しいバックエンドは、WebView2と呼ばれるChromiumベースのEdgeブラウザのネイティブCOM APIを使用します。そのため、QtWebEngine を出荷せずにウェブコンテンツを提供できるようになりました。

Qt Widgets モジュール

Qt XML モジュール

Qt MQTT モジュール

  • WebSockets/Secure WebSockets のサポートを追加しました。

ツール

QDoc ドキュメンテーション・ジェネレーター

  • QDoc は、すべての C++ API 宣言に "view source" リンクを自動的に追加できるようになりました。この機能を有効にするには、新しいurl.sourcesファミリーの設定変数 (url.sources.enabled,url.sources.rootdir,url.sources.linktext) を使用します。
  • QDocはFloydの循環探索アルゴリズムを使ってQML型の循環継承を検出し、無限ループに陥る代わりに問題を報告するようになりました。
  • .qml ファイルで定義された QML プロパティ・グループは、\qmlproperty コマンドでドキュメント化する際に認識され、1 つのグループ化されたプロパティとして表示されます。
  • Qt ツール(moc_uic_qrc_ など)によって生成されたソースファイルが自動的にスキップされるようになり、大規模プロジェクトでの QDoc のビルド時間が短縮されました。
  • .qml ファイル内の QML プロパティに表示されるデータタイプは、\qmlproperty コマンドで直接オーバーライドできるようになりました。
  • documentationinheadersオプションはテクニカルプレビューとして提供されなくなりました。これは Qt 6.9 で初めて導入されました。
  • DocBook 出力を生成するとき、QDoc はオーバーロードのノートを含むようになりました。
  • オーバーロードされたシグナルとスロットに、その使用を示すコンテキスト・スニペットが含まれるようになりました。
  • QDoc は LLVM 21 から Clang ライブラリに対してリンクできるようになりました。
  • .index-filesにthe declared return type from \fn-commands が含まれるようになりました。これは、作者が関数の戻り値の型をauto で上書きする場合に、マルチ・プロジェク ト・ビルドで便利です。
  • QDocは新しいセクションを作成します。QDoc は、生成されるドキュメントに新しいセクション「QML Enumerations」を作成します。
  • コード・スニペットのインデントが正規化され、余分な左マージンの空白が取り除かれま した。これは、大きくインデントされたソースからのスニペット(例えば、if-statements の深いネストされたシリーズ)は、ネストされていないかのように表示されることを意味します。
  • QDoc はデフォルトのパラメーターを持つテンプレートのエイリアスを正しく解析するようになりました。
  • QDoc は、非推奨の代替関数がある場合、非推奨関数への自動リンクを行わないようになりました。
  • 新しいnotranslate-commandを使用して、文字列の機械翻訳を防ぐことができます。

プラットフォームの変更

ビルドシステムの変更

  • プライベート Qt モジュール Foo を使用するには、Qt6::FooPrivate ターゲットを使用可能にするためにfind_package(Qt6 COMPONENTS FooPrivate) を呼び出す必要があります。
  • qt_add_resources()DISCARD_FILE_CONTENTS オプションを追加しました。
  • Qt 6.6.0 で廃止されたqt6_generate_deploy_[app_]scriptFILENAME_VARIABLE オプションは削除されました。
  • qt_deploy_runtime_dependenciesNO_PLUGINS 引数を追加しました。 これはプラグインのデプロイメントを完全にオフにします。
  • qt_deploy_runtime_dependencies に引数INCLUDE_PLUGIN_TYPES,EXCLUDE_PLUGIN_TYPES,INCLUDE_PLUGINS,EXCLUDE_PLUGINS を追加しました。
  • Qt プラグインを選択するための引数をqt_generate_deploy_app_script に追加しました。
  • qt6_import_plugins Linux での CMake デプロイメント API を使用したプラグインのデプロイメントに影響を与えないようにしました。
  • qt6_deploy_runtime_dependencies Linux で以下のプラグイン選択フラグをサポートしました:INCLUDE_PLUGINS INCLUDE_PLUGIN_TYPES,EXCLUDE_PLUGINS,EXCLUDE_PLUGIN_TYPES.
  • qt_add_qml_module() に、ターゲットのリソースシステムからオリジナルの QML と JS ファイルの内容を削除するDISCARD_QML_CONTENTS オプションを追加しました。

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

Windows

macOS

  • 拡張ダイナミック・レンジ(EDR)を選択した Windows で、画面の明るさが変化したときに公開イベントがトリガーされるようになりました。
  • titleUIElement アクセシビリティ プロパティがサポートされました。
  • サービスメニューの統合がリッチテキストに対応
  • QOperatingSystemVersion::MacOSTahoe macOS 26 を表します。
  • WhatsThisCursor と BusyCursor のマッピングが追加されました。
  • QImage::toCGImage() が画像の色空間を伝播するようになりました

LinuxのWaylandクライアント

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

アンドロイド

Android 用 Qt
  • Gradleをバージョン8.14.2に、Android Gradle Plugin AGPをバージョン8.10.1に更新。
  • Android 12 Splash Screen のサポートを追加しました。
  • Android 16KB ページサイズのサポートを追加。
  • コードジェネレータ (QtJenny) が生成する C++ ラッパー経由で Android API にアクセスするサンプル (QtJennyDemo) を追加。
Qt Quick Android 用
  • QtQuickView のシグナルに複数引数のサポートを追加した。
  • QML が完全にロードされる前にシグナルリスナーを登録するサポートを追加しました。
  • JavaのAPIをjavadoc形式で公開。

iOS

  • Apple Pencil のQPointingDevice サポートを追加しました。
  • 標準の Apple Pencil の回転を修正
  • Apple Pencil 第2世代以降のホバー機能のサポートを追加
  • 拡張ダイナミックレンジ (EDR) を選択した Windows で、画面の明るさが変化したときに公開イベントをトリガーするようになりました。
  • アプリがアクティブな状態から移動すると、更新要求が一時停止するよう修正
  • QScreen 画面の向きの反転も報告するようになりました。
  • RLIMIT_STACK が有効なスタックサイズを反映するようになりました。
  • QImage::toCGImage() が画像の色空間を伝搬するようになりました。

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

Boot to Qt

リアルタイムOS

  • リアルタイム・オペレーティング・システムのサポートは LTS リリースでのみ提供されます。LTS 以外のリリースについては、プロフェッショナルサービスを通じてのみサポートが提供されます。

Qt 6.10 で非推奨のモジュール

以下のモジュールは非推奨です。新しいコードで使用しないことを強くお勧めします。

Qt Charts と Qt DataVisualization モジュールは非推奨です。これらは引き続きライセンスされたソフトウェアの一部であり、Qt プロジェクトの一部です。しかし、新しいコードには Qt Graphs.また、{Qt Graphs Qt Charts からの移行 }{Qt Charts からの移行 }{ Qt Data Visualization からの移行} のドキュメントも参照してください。

Qt におけるモジュールのライフサイクルについては、QUIP-14 を参照してください。

API 変更点のリスト

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

既知の問題

Qt 6.10 の既知の問題についてはQt Wiki を参照してください。

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